存储过程中的所有语句都是一个事务吗

Dav*_*vid 7 t-sql sql-server transactions rollback

如果存储过程包含多个语句,例如首先是 an insert,然后是 an update,最后是 a deletes ,并且存储过程在 的中间被终止delete,那么insertupdate是否也必须回滚?或者它只是回滚delete隐式事务?

HAB*_*ABO 7

正如事务中所解释的,每个语句都将作为隐式事务执行。如果语句失败,则先前语句的效果将保持不变。

请注意,整个存储过程可以在调用代码创建的显式事务中执行。