zoukankan      html  css  js  c++  java
  • SQL Server 事务及回滚事务的几种方法

     

    第一种:

    复制代码
    declare   @iErrorCount   int
    set@iErrorCount=0
    begintran Tran1
       
    insertinto t1(Id, c1) values(1,'1')
        
    set@iErrorCount=@iErrorCount+@@error

       
    insertinto t1(Id, c1) values('XX2','2')
        
    set@iErrorCount=@iErrorCount+@@error

    if@iErrorCount=0
    begin   
        
    COMMITTRAN Tran1  --执行事务
    end
    else   
    begin   
        
    ROLLBACKTRAN Tran1  --回滚事务
    end
    复制代码

     

    第二种:

    复制代码
    Begin Try
        
    BeginTran Tran1
            
    insertinto t1(Id, c1) values(1,'1')
            
    insertinto t1(Id, c1) values('XX2','2')  --此句产生错误
        COMMITTRAN Tran1
    END Try
    Begin Catch
        
    raiserror 50005N'出错了'
        
    ROLLBACKTRAN Tran1     ---出错后调用回滚
    END Catch
    复制代码

     

    第三种:

    SET XACT_ABORT ON----语句产生运行时错误,则整个事务将终止并回滚。
    BeginTran
        
    INSERTINTO t1(Id, c1) VALUES(1,'1')
        
    INSERTINTO t1(Id, c1) VALUES('XX2','2') --此句产生错误时,就会回滚整个事务
    CommitTran
  • 相关阅读:
    毕设问题02-index.jsp跳转html问题
    毕设问题01-html中引入公共部分代码
    毕设开篇
    object和大括号自定义对象
    数组js
    function 方法的使用
    JavaScript01
    CSS属性
    听说不能改日期了
    获取时间
  • 原文地址:https://www.cnblogs.com/zcm123/p/3417579.html
Copyright © 2011-2022 走看看