【发布时间】:2021-02-12 07:26:50
【问题描述】:
如果一个存储过程包含多个语句,例如首先是insert,然后是update,最后是deletes,存储过程在delete 的中间被杀死,insert 和update 是否也必须回滚?还是只回滚delete 即隐式事务?
【问题讨论】:
标签: sql-server tsql transactions rollback
如果一个存储过程包含多个语句,例如首先是insert,然后是update,最后是deletes,存储过程在delete 的中间被杀死,insert 和update 是否也必须回滚?还是只回滚delete 即隐式事务?
【问题讨论】:
标签: sql-server tsql transactions rollback
如Transactions 中所述,每条语句都将作为隐式事务执行。如果一个语句失败,那么先前语句的效果将保持提交。
请注意,整个存储过程可以在调用代码创建的显式事务中执行。
【讨论】:
insert 和 update 必须提交,但 delete 语句被回滚
【讨论】: