一直误解sql事务的用法.
一直以来窃以为这样的用法是正确的.
1,begin tran....commit tran
2.set XACT_ABORT on
对于单条记录正常,但对于批插入=操作,上面的用法却错了.
正常用法为:
1,
先 set XACT_ABORT on
再begin tran
然后commit tran
最后set XACT_ABORT off
2,
先begin tran
然后插入操作,
再判断if @@error<>0 begin rollback goto endlabel end
(对每个插入操作都要加上这句判断)
最后commit tran
endlabel: