溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql調試存儲過程的方法

發(fā)布時間:2020-08-26 09:43:52 來源:億速云 閱讀:543 作者:小新 欄目:MySQL數據庫

小編給大家分享一下mysql調試存儲過程的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

mysql調試存儲過程的方法:首先用一張臨時表,記錄調試過程;然后直接在存儲過程中,增加【select @xxx】,并在控制臺查看結果即可。

mysql調試存儲過程的方法

mysql調試存儲過程的方法:

在navicat中調用存儲過程  

1. 寫語句調用

call p_next_id('t_factory',2,'0',@result); -- 上面的存儲過程含有四個參數,所以這里調用的時候,也需要傳遞4個參數:輸入參數填寫值,輸出參數用變量表示@result
select @result; -- 這句話是在控制臺顯示變量值

2. 窗口點擊

直接點擊運行時,在彈出輸入框輸入:

't_factory',2,'0',@result

追蹤存儲過程執(zhí)行步驟

mysql不像oracle有plsqldevelper工具用來調試存儲過程,所以有兩簡單的方式追蹤執(zhí)行過程:

  • 用一張臨時表,記錄調試過程

  • 直接在存儲過程中,增加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調試存儲過程的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI