This example shows how to debug a trigger in dbForge Fusion for MySQL. Use provided scripts to create sample objects in your test database.
Use the script available in Sample Script to Create Database Tables to create necessary tables.
Use the script available in How To: Debug a Stored Procedure to the procedure used in the sample below.
Use the script below to create the ScheduleDetail trigger that generates an error message in case inserted data contains NULL.
CREATE TRIGGER scheduledetail BEFORE INSERT ON scheduledetail FOR EACH ROW BEGIN SET @TimeSheetDate = new.TimeSheetDate; SET new.AbsenceCode = 'sicklist'; IF @TimeSheetDate IS NULL THEN RESIGNAL SET MYSQL_ERRNO = 5; END IF; END
To debug the MySQL trigger:
Change the current view from Main to SQL.
While opening a trigger the Main view is set as default. You are not able to insert a breakpoint in this view.
Set a breakpoint for the stored procedure that will fire the trigger. Click in the gray margin next to the INSERT INTO schedule_list statement.
Step through the code using the F11 key or the Step Into button, or press CTRL+F5 to move directly to the breakpoint. At the INSERT INTO schedule_list statement, when you press F11 again, you will step into the trigger.
There are two database objects in the Call Stack window: the ScheduleDetail trigger and the FillSchedule procedure. You may notice the yellow arrow next to the ScheduleDetail trigger which identifies the stack frame where the execution pointer is currently located.
You can get back to the procedure source code by double-clicking the procedure in the Call Stack window.
A green arrow indicates that you have stepped back to the parent code that has called the trigger.