【发布时间】:2013-08-08 09:23:44
【问题描述】:
如果您不在事务中,SET XACT_ABORT ON 是否会在存储过程中执行任何操作?
我问我的存储过程似乎以某种方式回滚插入语句,即使失败的存储过程部分不在事务中。表的标识被向上推,但在存储过程返回后插入的行不存在,尽管插入是无条件的并且不在事务内。
或者还有什么其他原因导致 SQL Server 在事务之外回滚插入?
【问题讨论】:
-
所有插入都在一个事务中。如果您不在显式事务中运行它,SQL Server 将为该语句启动一个新的。
-
但是如果插入成功完成,有什么机制可以让它回滚呢?
标签: sql sql-server tsql stored-procedures transactions