sql语句之try catch用法

发布时间:2020-08-14编辑:脚本学堂
本文介绍了sql语句之try catch的用法,用于检查检索错误消息,在 catch 块的作用域内,可以使用系统函数来获取导致 catch 块执行的错误消息,需要的朋友参考下。

try catch语句:
BEGIN TRY
     { sql_statement | statement_block }
END TRY
BEGIN CATCH
          [ { sql_statement | statement_block } ]
END CATCH
[ ; ]
------------------------
检索错误消息
在 CATCH 块的作用域内,可以使用以下系统函数来获取导致 CATCH 块执行的错误消息:
ERROR_NUMBER() 返回错误号。
ERROR_SEVERITY() 返回严重性。
ERROR_STATE() 返回错误状态号。
ERROR_PROCEDURE() 返回出现错误的存储过程或触发器的名称。
ERROR_LINE() 返回导致错误的例程中的行号。
ERROR_MESSAGE() 返回错误消息的完整文本。该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。
------
 

BEGIN TRY
BEGIN TRANSACTION
----------------------------
COMMIT TRANSACTION
END TRY
BEGIN CATCH
    rollback
    DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
    SELECT @ErrMsg = ERROR_MESSAGE(),@ErrSeverity = ERROR_SEVERITY()
  RAISERROR(@ErrMsg, @ErrSeverity, 1)
END CATCH