Sql的两中事务回滚

create proc ...
as
set xact_abort  on   --加上这句,这样在出现错误时,会终止并回滚事务
begin
    begin tran
    insert table1 ...
    insert table2 ...
    commit tran
end


====================================================================
--或者这样写:

create proc ...
as
begin
    begin tran
    insert table1 ...
    if @@error<>0
begin
     ROLLBACK TRAN
return  --出错时,要回滚事务并退出处理,否则一样会执行后面的语句
end

    insert table2 ...
    if @@error<>0
begin
     ROLLBACK TRAN
return
end
    commit tran
end

posted on 2005-10-10 11:13  冷月孤峰  阅读(461)  评论(0)    收藏  举报