MYSQL儲存過程抓捕異常

2021-08-13 02:24:52 字數 720 閱讀 6517

mysql儲存過程異常抓捕和異常資訊捕獲

直接上**

create procedure testerrormessage(

inout code char, //輸出的錯誤編號

inout message text //輸出錯誤文字資訊

) begin

declare exit handler for sqlexception              //①

begin

get diagnostics condition 1 //②

code = returned_sqlsqlstate,message = massage_text; //③

end;

//假裝這裡是儲存過程邏輯**,如果執行出錯,上面抓捕異常。

end

**解析:

① declare exit handler for sqlexception //異常宣告處理語法

② get diagnostics condition 1 //這段**的含義是,從mysql錯誤快取區讀取第一條錯誤資訊。

③ code = returned_sqlsqlstate,message = massage_text; //讀取出sql出錯編碼,將其賦值給我們定義的錯誤編碼變數code。讀取sql出錯的錯誤文字資訊,將其賦值給我們第一的錯誤文字變數message。

mysql儲存過程異常處理

定義條件和處理程式是事先定義程式執行過程中可能遇到的問題。並且可以在處理程式中定 決這些問題的辦法。這種方式可以提前 可能出現的問題,並提出解決辦法。這樣可以增強程式處理問題的能力,避免程式異常停止。mysql中都是通過declare關鍵字來定義條件和處理程式。本小節中將詳細講解如何定義條件和處理程...

mysql儲存過程獲取系統異常

第一次寫儲存過程,在這個異常處理上面爬了好多坑,記錄一下獲取系統異常的寫法,要特別注意begin end的位置,位置不一樣,結果也不一樣,還有就是自定義異常與全域性異常結合使用,需要申明全域性異常,然後在全域性異常下,自定義異常需要用begin end包含起來,自定義異常會自己處理begin end...

MySql儲存過程捕獲異常回滾

drop procedure if exists pro test create procedure pro test para a varchar 50 para b varchar 50 begin declare result code integer default 0 定義返回結果並賦初值...