sql中的begin catch 。。。end catch 的用法

Posted 萌橙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中的begin catch 。。。end catch 的用法相关的知识,希望对你有一定的参考价值。

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

begintry
--SQL
endtry

begincatch--sql (处理出错动作)
endcatch

我们将可能会出错的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可以在多次使用,值是不变的。

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

begintry
select2/0
endtry

begincatch
selecterror_number()aserror_number ,
error_message()aserror_message,
error_state()aserror_state,
error_severity()aserror_severity
endcatch


结果:

-----
error_number error_message error_state error_severity

8134遇到以零作除数错误。116










































以上是关于sql中的begin catch 。。。end catch 的用法的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 异常处理机制(Begin try Begin Catch) 摘录

sqlgo是啥意思,如何使用?

SQL Server Try/Catch、Begin/Tran、RaiseError、Loop 和 Return。正确的顺序是啥?

C语言实现字符串单词反转

SQL中begin end 啥意思?怎么用着条语句?

BEGIN 和 END 中的 Oracle 公用表表达式 (WITH)