SQL 回滚无效 找不到原因 高手指点下啊
一个过程里有insert 有update ,偶尔出现 插入了没有更新 的情况
begin tran tx
declare @err int
set @err = 0
————————————————插入表1
insert into 表1
……
set @err=@err+@@error
——————————————如果满足条件则更新表2
if (条件1)
begin
update 表2
set @err=@err+@@error
end
if (条件2)
begin
update 表2
set @err=@err+@@error
end
……
IF @err <> 0
rollback tran tx
else
commit tran tx
代码就是这样,
------解决方案--------------------
set xact_abort on
或 select @err=@err+@@error