
# 华为云Astro轻应用服务编排中涉及数据操作的脚本图元，在其他图元操作失败的情况下，是否可以回滚？
如果脚本中涉及数据增/删/改等操作，默认是脚本图元后的图元失败的情况下，脚本中的操作进行回滚。如果脚本中，单独写了独立事务transaction，则不进行回滚。
图1脚本图元   
![](https://support.huaweicloud.com/astrozero_faq/zh-cn_image_0000001845032456.png "点击放大")
独立事务的具体写法如下，如果脚本中存在加粗内容，则表示开启了独立事务，即使引用它的服务编排失败，事务操作也不会回滚。
```
import * as db from 'db';
@userObject(['student__cst'])
class Demo{
   test():void{
        let student = db.object('student__cst');
//进行一些数据库操作
        let op =function(): void{
    //进行另外一些数据库操作
        };
//op的里面数据库操作是独立事务，与op外面的事务操作相互不影响。
        db.transaction(op)
}
}
```
使用db.transaction可以将一系列的操作封闭在一个事务中进行，要么全成功，要么全失败。成功与失败不影响外部的操作，外部操作的成功失败也不影响db.transaction的结果。
