如果存在回滚,后续更新触发器是否会启动?
场景:假设我们更新表A并且表A上的触发器启动并更新另一个表B以及详细信息.如果由于某些处理错误而在表A上发出回滚,触发器是否会导致表B回滚更改?
是的,它会的.
触发器在DML语句的事务范围内工作(由显式或由DML语句本身隐式启动)
回滚此事务时,还会回滚触发器所做的所有更改.
但是,如果你把
PRAGMA autonomous_transaction
Run Code Online (Sandbox Code Playgroud)
在触发器定义中,触发器将启动自己的事务,您应该在触发器完成之前提交该事务.
| 归档时间: |
|
| 查看次数: |
8508 次 |
| 最近记录: |