一直误解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:

导航