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
  • 相关阅读:
    luogu P3801 红色的幻想乡
    [USACO07OPEN]吃饭Dining
    [SCOI2007]蜥蜴
    [SDOI2011]染色
    [USACO07DEC]Sightseeing Cows
    [HNOI2007]紧急疏散EVACUATE
    [ZJOI2009]假期的宿舍
    [SDOI2013]费用流
    [CQOI2009]跳舞
    使用chrony安装chrony
  • 原文地址:https://www.cnblogs.com/oufeng/p/7093383.html
Copyright © 2011-2022 走看看