sqlserver中怎么使用回滚?
麻烦那位大哥解说一下.

解决方案 »

  1.   

    --简单一点的方法:
    set xact_abort on
    begin tran
         --SQL 语句
    commit tran
      

  2.   

    begin transaction
    update/insert....
    if @@error > 0
    begin
          raiserror('ErrorMessage',16,1)     
          rollback
    end
    commit transaction
      

  3.   

    如果出错信息不重要,用一楼,一楼可以自动回滚!不用@@error判断,想保留出错信息用二楼!人工回滚Rollback
      

  4.   

    liangpei2008(我爱世界杯) 说道有道理
      

  5.   

    begin transaction
    update/insert....
    if @@error > 0
    begin
          raiserror('ErrorMessage',16,1)     
          rollback
    end
    commit transaction个人认为3楼的比较好
      

  6.   

    begin tran
    update ...........
    if @@rowcount <> 0 
        begin 
           raiserror('Error Message',16 , 1)
           rollback tran 
       end
    else
       begin 
           commit tran
       end