sql中的begin catch 和 end catch 的用法

begin catch 。。。end  catch 是用来处理异常的

begin try
  --SQL语句
end try

begin catch  --sql (处理出错动作)
end catch

我们将可能会出错的sql 写在begin try...endtry 之间,若出错,刚程序就跳到紧接着的begin try...endtry 的beign catch...endcatch

中,执行beign catch...endcatch错误处理SQL。try..catch 是可以嵌套的。

在begin catch ...endcatch中我们可以利用系统提供的下面四个函数得到出错信息:

error_number 返回错误代码

error_serverity 返回错误的严重级别

error_state 返回错误状态代码

error_message 返回完整的错误信息

 


上面的四个函数在同一个begin catch ...endcatch可以在多次使用,值是不变的。

下面是一个简单的小例子。

BEGIN TRY 
SELECT 2/0
END TRY 

BEGIN CATCH 
SELECT 
  error_number() AS aserror_number ,
  error_message() AS aserror_message,
  error_state() AS aserror_state,
  error_severity() AS aserror_severity
END CATCH 

 

输出结果

 

posted @ 2021-08-30 10:08  茶叶蛋蛋  阅读(1110)  评论(0)    收藏  举报