SQL SERVER存储过程中使用事务与捕获异常

Posted 我的学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER存储过程中使用事务与捕获异常相关的知识,希望对你有一定的参考价值。

https://www.douban.com/note/559596669/

格式类似于


CREATE PROCEDURE YourProcedure
AS
BEGIN
    SET NOCOUNT ON;

    BEGIN TRY---------------------开始捕捉异常
       BEIN TRAN------------------开始事务
        UPDATE A SET A.names = B.names FROM 表1 AS A INNER JOIN 表2 AS B ON A.id = B.id

        UPDATE A SET A.names = B.names FROM 表1 AS A INNER JOIN 表2 AS B ON A.TEST = B.TEST

    COMMIT TRAN -------提交事务
    END TRY-----------结束捕捉异常
    BEGIN CATCH------------有异常被捕获
        IF @@TRANCOUNT > 0---------------判断有没有事务
        BEGIN
            ROLLBACK TRAN----------回滚事务
        END
        EXEC YourLogErrorProcedure-----------记录存储过程执行时的错误信息,自定义
    END CATCH--------结束异常处理
END
























以上是关于SQL SERVER存储过程中使用事务与捕获异常的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 触发器事务以及存储过程详解

Wcf 事务和 SQL 存储过程

从 SQL Server 函数向存储过程抛出异常

sqlserver 存储过程 使用事务,说明在下边,求大神指教!

mysql存储过程事务和捕获异常信息

SQL Server查询优化与事务处理