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 定義返回結果並賦初值...