zoukankan      html  css  js  c++  java
  • SQL事务在存储过程的应用

    -- =============================================
    -- Author:        jf_ou
    -- Create date: 2017-08-22
    -- Description:    事务的使用1
    -- =============================================
    CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
    AS
    BEGIN
        --设置整体提交或整体回滚BEGIN
        SET XACT_ABORT ON
        DECLARE @ERROR INT = 0;
        BEGIN TRANSACTION
            IF(@ERROR = 1)
            BEGIN
                SELECT 'ERROR';
                --ROLLBACK后面必须加RETURN;且ROLLBACK必须在前面
                ROLLBACK TRANSACTION
                RETURN
            END
            ELSE
            BEGIN
                SELECT 'DOME'
            END
        IF(@@ERROR <> 0) 
        BEGIN
            ROLLBACK TRANSACTION
        END 
        COMMIT TRANSACTION
    
        --设置整体提交或整体回滚END
        SET XACT_ABORT OFF
    END
    GO
    -- =============================================
    -- Author:        jf_ou
    -- Create date: 2017-06-19
    -- Description:    事务的使用2
    -- =============================================
    CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 
        <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
        <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
    AS
    BEGIN
        --设置整体提交或整体回滚BEGIN
        SET XACT_ABORT ON
    
        DECLARE @ERROR INT = 0;
        BEGIN TRY
            BEGIN TRANSACTION 
            --核心代码
            IF(@ERROR = 1)
            BEGIN
                SELECT 'ERROR';
                --ROLLBACK后面必须加RETURN;且ROLLBACK必须在前面
                ROLLBACK TRANSACTION
                RETURN
            END
            ELSE
            BEGIN
                SELECT 'DOME'
            END
            COMMIT TRANSACTION 
        END TRY 
        BEGIN CATCH
            Rollback TRANSACTION 
            --插入轨迹语句
        END CATCH
        
        --设置整体提交或整体回滚END
        SET XACT_ABORT OFF
    END
    GO
  • 相关阅读:
    浅析Linux操作系统是如何工作的(思维导图)
    【Git】创建一个空分支
    ubuntu13.04更新源
    【Linux操作系统分析】设备驱动处理流程
    django-xss攻击原理与防范
    django—xadmin中集成富文本编辑器ueditor
    垃圾回收机制
    元组-不仅仅是不可变的列表
    不一样的列表
    Python数据模型
  • 原文地址:https://www.cnblogs.com/oufeng/p/7093383.html
Copyright © 2011-2022 走看看