天天看點

開發環境dbForge Studio for MySQL——如何調試存儲函數

dbForge Studio for MySQL是一個在Windows平台被廣泛使用的MySQL用戶端,它能夠使MySQL開發人員和管理人員在一個友善的環境中與他人一起完成建立和執行查詢,開發和調試MySQL程式,自動化管理MySQL資料庫對象等工作。

線上訂購  試用下載下傳

此示例顯示如何在dbForge Studio for MySQL中調試存儲的函數。使用提供的腳本在測試資料庫中建立示例對象。

建立示例函數

資料庫表

使用示例腳本中的腳本建立資料庫表以建立必要的表。

過程

使用可用于将存儲過程調試為下面示例中使用的過程的腳本。

函數

使用下面的腳本建立GetFirstDayOfMonth函數,該函數傳回月曆月的第一天。

CREATE FUNCTION GetFirstDayOfMonth (`date` datetime)
RETURNS datetime
BEGIN
 
  RETURN DATE_ADD(DATE_ADD(LAST_DAY(`date`), INTERVAL - 1 MONTH), INTERVAL 1 DAY);
 
END
$$      

調試函數

調試MySQL函數:

1、在Database Explorer中,選擇一個測試資料庫。

2、單擊“過程”,然後輕按兩下“FillSchedule”過程将其打開。

3、單擊SET TimeSheetDate語句旁邊的灰色邊距,在我們調用GetFirstDayOfMonth存儲函數的位置插入斷點。

開發環境dbForge Studio for MySQL——如何調試存儲函數

4、單擊“

開發環境dbForge Studio for MySQL——如何調試存儲函數

開始調試”,然後輸入過程的輸入參數值。

5、将CurrDate變量添加到Watches視窗。此選項允許您在單步執行代碼時跟蹤變量的值。要将變量添加到Watches視窗中,右鍵單擊CurrDate變量,然後選擇

開發環境dbForge Studio for MySQL——如何調試存儲函數

添加Watch在快捷菜單上。該變量将出現在Watches視窗中。

開發環境dbForge Studio for MySQL——如何調試存儲函數

6、使用F11鍵或 Step Into按鈕逐漸執行代碼,或按CTRL + F5直接移動到斷點。

請注意,當您處于SET TimeSheetDate語句時,CurrDate變量将其值從NULL更改為DATE。

開發環境dbForge Studio for MySQL——如何調試存儲函數
開發環境dbForge Studio for MySQL——如何調試存儲函數

7、按F11或者點選單步執行,以獲得内部GetFirstDayOfMonth存儲函數。

注意:您可以通過單擊“

開發環境dbForge Studio for MySQL——如何調試存儲函數

跳過”按鈕忽略單步執行該函數。在這種情況下,您将繼續單步執行存儲過程。

8、單步執行GetFirstDayOfMonth函數,直到退出到存儲過程,并繼續到結束。

注意:您可以通過單擊“

開發環境dbForge Studio for MySQL——如何調試存儲函數

跳出”按鈕傳回存儲過程代碼。在這種情況下,您将繼續單步執行存儲過程。

現在,不會出現CurrDate變量的值。原因是變量在FillSchedule過程中聲明,并且此時您處于不同的上下文中。您可以從目前上下文向Watches視窗添加任何變量以跟蹤其值。

開發環境dbForge Studio for MySQL——如何調試存儲函數

您可以單擊“調用堆棧”視窗中的FillSchedule過程以傳回到父代碼。請注意,與CurrDate不同,Date變量現在未被識别。

開發環境dbForge Studio for MySQL——如何調試存儲函數

繼續閱讀