SQLSERVER新建存储过程模板


-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================

CREATE PROCEDURE [dbo].[SP_JOB_NAME]
AS 
BEGIN
BEGIN TRAN        -- 开启事务,transcation 的简写
    BEGIN TRY

    PRINT(N'执行内容')

    END TRY
    BEGIN CATCH
        SELECT ERROR_NUMBER() errorNumber,        --错误代码
               ERROR_SEVERITY() errorSeverity,    --错误严重级别,级别小于10 try catch 捕获不到
               ERROR_STATE() errorState,        --错误状态码
               ERROR_PROCEDURE() errorProcedure,    --出现错误的存储过程或触发器的名称
               ERROR_LINE() errorLine,        --发生错误的行号
               ERROR_MESSAGE() errorMessage        --错误的具体信息
        PRINT ERROR_MESSAGE()                    --错误的具体信息
        IF(@@trancount>0)    -- @@trancount 系统全局变量,事务开启 @@trancount 值+1,判断事务是否开启
        BEGIN
            ROLLBACK TRAN;        -- 回滚事务
        END
        ;THROW

    END CATCH

    IF(@@trancount>0)
    BEGIN
        COMMIT TRAN;        -- 提交事务
    END
END

 

posted @ 2021-02-19 15:42  泥称  阅读(265)  评论(0编辑  收藏  举报