Begin
Begin Transaction T1
--第一类操作N条语句
If @@Error<>0
Begin
Rollback Transaction T1
Begin Transaction T2
--第二类操作N条语句
If @@Error<>0
Begin
--都不成功
Rollback Transaction T2
Raiserror('两个操作都不成功',18,1)
RETURN
End
Else
Begin
--第二类操作成功
Commit Transaction T2
RETURN
End
End
Else
Begin
--第一类操作成功
Commit Transaction T1
RETURN
End
Begin
Begin Transaction
--第一类操作N条语句
If @@Error<>0
Begin
Rollback Transaction
Begin Transaction
--第二类操作N条语句
If @@Error<>0
Begin
--都不成功
Rollback Transaction
Raiserror('两个操作都不成功',18,1)
RETURN
End
Else
Begin
--第二类操作成功
Commit Transaction
RETURN
End
End
Else
Begin
--第一类操作成功
Commit Transaction
RETURN
End
语句1
if @@error<>0
begin
ROLLBACK TRANSACTION
return
end
语句2
if @@error<>0
begin
ROLLBACK TRANSACTION
return
end
语句3
if @@error<>0
begin
ROLLBACK TRANSACTION
return
end
END