欢迎光临
我们一直在努力

SQL存储过程中使用BEGIN TRY捕捉错误并保存

1、创建保存错误的数据表:

/*创建错误日志表*/
CREATE TABLE ErrorLog(
                errNum INT,
                ErrSev NVARCHAR(500),
                ErrState INT,
                ErrProc NVARCHAR(1000),
                ErrLine INT, 
                ErrMsg NVARCHAR(2000)
                )

2、创建保存错误信息的存储过程:

/*创建错误日志记录存储过程*/
CREATE PROCEDURE InsErrorLog
AS 
BEGIN
        INSERT INTO ErrorLog 
             SELECT  ERROR_NUMBER() AS ErrNum,
 ERROR_SEVERITY()AS ErrSev,
 ERROR_STATE() AS ErrState,
 ERROR_PROCEDURE() AS ErrProc,
 ERROR_LINE()AS ErrLine,
 ERROR_MESSAGE()AS ErrMsg 
END

3、在存储过程中使用BEGIN TRY,并捕捉错误保存:

CREATE PROCEDURE GetErrorTest
AS
BEGIN TRY
   /*在这里填写存储过程的内容*/
     ***
END TRY
BEGIN CATCH
    EXEC InsErrorLog --调用 InsErrorLog 存储过程,保存错误日志
END CATCH 
赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。