【发布时间】:2011-05-11 19:17:23
【问题描述】:
这种情况会发生什么?
SET XACT_ABORT ON
BEGIN TRANSACTION
---DO SOMETHING HERE THAT CAUSES AN ERROR
COMMIT TRANSACTION
if @@error != 0
raiserror('SP failed. Step 7.', 20, -1) with log GO
我的猜测是,因为XACT_ABORT 是ON,所以COMMIT TRANSACTION 永远不会发生(因为整个事情都回滚并终止了),最后一条语句也不会发生(检查@@error 然后调用@987654326 @)。
【问题讨论】:
标签: sql-server transactions raiseerror xact-abort