mysql調試存儲過程的方法:1、利用“CREATE TEMPORARY TABLE”語句創建一張臨時表,用于記錄調試過程;2、在存儲過程中,增加“select @xxx”語句;3、打開控制臺,在控制臺中查看結果,根據輸出結果修改代碼即可。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
mysql調試存儲過程的方法:
在navicat中調用存儲過程
1. 寫語句調用
call?p_next_id('t_factory',2,'0',@result);?--?上面的存儲過程含有四個參數,所以這里調用的時候,也需要傳遞4個參數:輸入參數填寫值,輸出參數用變量表示@result select?@result;?--?這句話是在控制臺顯示變量值
2. 窗口點擊
直接點擊運行時,在彈出輸入框輸入:
't_factory',2,'0',@result
追蹤(調試)存儲過程執行步驟
? ? ?mysql不像oracle有plsqldevelper工具用來調試存儲過程,所以有兩簡單的方式追蹤執行過程:
-
利用“CREATE TEMPORARY TABLE”語句創建一張臨時表,用于記錄調試過程
-
直接在存儲過程中,增加select @xxx
-
在控制臺查看結果,根據輸出結果修改代碼:
例如我把上面的存儲過程中加一些查詢語句(注意下面的紅色語句)
CREATE?PROCEDURE?`p_next_id`(kind_name?VARCHAR(30),?i_length?int,currentSeqNo?VARCHAR(3),OUT?o_result?INT) BEGIN? ?????SET?@a=?NULL; ?????SET?@b=?NULL; ?????SELECT?id?INTO?@a?FROM?t_seq?WHERE?number=?currentSeqNo?and?length=?i_length?; SELECT?@a;????? ?????IF?(@a?is?null?)?THEN ????????????select?min(id)?into?@a?FROM?t_seq?where?length?=?i_length; ????????????select?number??INTO?@b?FROM?t_seq?WHERE?id?=?@a; select?@b; ?????ELSE ????????select?number??INTO?@b?FROM?t_seq?WHERE?id?=?@a+1;???????? ?????END?IF;???????? ?????SELECT?@b?INTO?o_result;????? END
【相關學習推薦:mysql學習】
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦