sql中的begin catch 和 end catch 的用法
阿新 • • 發佈:2021-08-30
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
輸出結果