begin tran insert into t1(...) values(...) if @@error <>0 begin rollback tran end else insert into t2(...) values(...) if @@error <>0 begin rollback tran end else commit tran end
set xact_abort on begin tran INSERT INTO t1 VALUES (1) INSERT INTO t2 VALUES (2) commit tran
BEGIN TRY BEGIN TRANSACTION; --------XXXXXXXXXXXXXXxxx COMMIT TRANSACTION; END TRY BEGIN CATCH Rollback tran END CATCH;
insert into t1(...) values(...)
if @@error <>0
begin
rollback tran
end
else
insert into t2(...) values(...)
if @@error <>0
begin
rollback tran
end
else
commit tran
end
begin tran
INSERT INTO t1 VALUES (1)
INSERT INTO t2 VALUES (2)
commit tran
BEGIN TRANSACTION;
--------XXXXXXXXXXXXXXxxx
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
Rollback tran
END CATCH;