mysql如何調試存儲過程

mysql調試存儲過程的方法:1、利用“CREATE TEMPORARY TABLE”語句創建一張臨時表,用于記錄調試過程;2、在存儲過程中,增加“select @xxx”語句;3、打開控制臺,在控制臺中查看結果,根據輸出結果修改代碼即可。

mysql如何調試存儲過程

本教程操作環境: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
喜歡就支持一下吧
點贊6 分享