假如现在有一个存储过程:
insert into ......
insert into ......
第一个insert into能成功
第二个insert into没能插入成功如果在存储过程中出现任何问题的话 怎么才能回滚?
能给出一个最简单的实例吗?谢谢

解决方案 »

  1.   

    create proc up_inser @a varchar(20),@b varchar(20)
    as 
    begin traninsert into a1 select @a
    if @@error<>0
    goto error
    insert into a2 select @b
    if @@error<>0
    goto errorgoto correcterror:
    rollbackcorrect:
    commit
    go
      

  2.   

    SQL Server 2005 的话,可以用Try...Catch块begin tran
    Try
      begin
        insert into ......
        insert into ......
        commit
      end
    catch
      begin
        rollback
      end