我看到一些随机发生的奇怪行为。 这是我的商店程序基本上做的。
begin try
begin tran
insert into table1
update table2
insert into table3
commit tran
end try
begin catch
rollback tran
end catch
在大多数情况下,上面的代码工作正常,除了偶尔(每天一次或两次)发生某些错误时,事务不会回滚所有3个表中的更改。
begin try
begin tran
insert into table1----Rollback doesn't happen
update table2--Rollback happens
insert into table3--Rollback happens
commit tran
end try
begin catch
rollback tran
end catch
任何人都可以建议我可能出错的地方,或者我是否需要以其他方式处理交易?
提前致谢。
答案 0 :(得分:0)
检查您的SET XACT_ABORT设置以及失败的sql中的错误级别实际上是