美文网首页
SQL Server存储过程事务

SQL Server存储过程事务

作者: Drifting_Leaf | 来源:发表于2018-09-13 17:08 被阅读0次
    DECLARE @TRANCOUNT INT --用于判断是否为子事务,使commit,rollback只控制本存储过程  
    SET @TRANCOUNT = @@TRANCOUNT  
    ---------定义错误信息-----------------------          
    DECLARE @ErrorMessage NVARCHAR(4000)    --错误消息
            ,@ErrorSeverity INT             --错误级别
            ,@ErrorState INT                --错误状态
    ----------开启事务-------------------------------------------
    IF @TRANCOUNT=0 
        BEGIN TRAN QCSELECT
    ELSE  
        SAVE TRAN QCSELECT  
    BEGIN TRY
        --此处写处理逻辑
        IF @TRANCOUNT=0
            COMMIT TRAN QCSELECT
    END TRY
    BEGIN CATCH
        ROLLBACK TRAN QCSELECT
        SELECT @ErrorMessage = ERROR_MESSAGE(),@ErrorSeverity = ERROR_SEVERITY(),@ErrorState = ERROR_STATE()
        RAISERROR (@ErrorMessage,@ErrorSeverity,@ErrorState)
    END CATCH

    相关文章

      网友评论

          本文标题:SQL Server存储过程事务

          本文链接:https://www.haomeiwen.com/subject/kbfggftx.html