1. 程式人生 > 其它 >sql中的begin catch 和 end catch 的用法

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 

輸出結果