请问大家在储存过程中如果出现错误rollback的写法我这么写对么?
Begin Transaction
insert into Table1 xxxx
IF (@@Error != 0 )
Begin
ROLLBACK TRANSACTION
RETURN
End
insert into Table2 xxxx
IF (@@Error != 0 )
Begin
ROLLBACK TRANSACTION
RETURN
End
大家看,我的储存过程需要往2个表插入数据,当插入第一个表数据的时候如果发生错误就rollback并退出,如果 第一个表成功了就插入第二个表,如果失败了,就rollback 到插入第一个表的前面(最开端)并退出,请问我用了2次的检查是否正确?还是只需要在结尾用一次
IF (@@Error != 0 )
Begin
ROLLBACK TRANSACTION
RETURN
End
检查就足够实现我的目的了????请各位指点,谢谢
------解决方案--------------------LZ 的写法是对的,每条语句都判断一下很必要
不过 LZ 怎么没有在最后写 COMMIT