【dbForge Studio for MySQL入門教程】如何調(diào)試觸發(fā)器
此示例顯示如何在dbForge Studio for MySQL中調(diào)試觸發(fā)器。使用提供的腳本在測(cè)試數(shù)據(jù)庫中創(chuàng)建示例對(duì)象。
創(chuàng)建樣本觸發(fā)器
使用下面的腳本創(chuàng)建ScheduleDetail 觸發(fā)器,以便在插入的數(shù)據(jù)包含NULL時(shí)生成錯(cuò)誤消息。
調(diào)試觸發(fā)器
要調(diào)試MySQL觸發(fā)器:
1. 在Database Explorer中,選擇您的測(cè)試數(shù)據(jù)庫。
2. 展開Triggers文件夾,然后雙擊ScheduleDetail觸發(fā)器將其打開。
3. 將當(dāng)前視圖從Main更改為SQL。
注意:打開觸發(fā)器時(shí),主視圖設(shè)置為默認(rèn)值。您無法在此視圖中插入斷點(diǎn)。
4. 設(shè)置觸發(fā)器的斷點(diǎn)。左鍵單擊SET語句旁邊的灰色邊距,在觸發(fā)器中設(shè)置斷點(diǎn)。此步驟是強(qiáng)制性的:如果您未在觸發(fā)器中設(shè)置斷點(diǎn),則在嘗試單步執(zhí)行時(shí)將跳過其代碼。
5. 展開Procedures文件夾,然后雙擊FillSchedule過程將其打開。
6. 為將觸發(fā)觸發(fā)器的存儲(chǔ)過程設(shè)置斷點(diǎn)。左鍵單擊INSERT INTO schedule_list語句旁邊的灰色邊距。
7. 單擊“Start Debugging”,然后輸入該過程的輸入?yún)?shù)。
8. 使用F11鍵或 Step Into按鈕逐步執(zhí)行代碼,或按CTRL + F5直接移動(dòng)到斷點(diǎn)。在INSERT INTO schedule_list語句中,再次按F11時(shí),您將進(jìn)入觸發(fā)器。
9. 逐步執(zhí)行觸發(fā)器,直到退出到存儲(chǔ)過程,然后繼續(xù)執(zhí)行。
調(diào)用堆棧窗口
“ Call Stack”窗口中有兩個(gè)數(shù)據(jù)庫對(duì)象:ScheduleDetail觸發(fā)器和FillSchedule過程。您可能會(huì)注意到ScheduleDetail觸發(fā)器旁邊的黃色箭頭,它標(biāo)識(shí)了執(zhí)行指針當(dāng)前所在的堆棧幀。
您可以通過雙擊“ Call Stack ”窗口中的過程返回到過程源代碼。
一個(gè)綠色箭頭表示您已回踩已經(jīng)稱為觸發(fā)父代碼。