【dbForge Studio for MySQL入门教程】如何调试存储过程
此示例演示如何在dbForge Studio for MySQL中通过步入存储过程来调试MySQL存储过程。它还说明了不同的调试技术,例如设置断点,查看数据项等。
创建示例过程
在本主题中,一些示例数据库对象用于演示如何使用dbForge Studio Debugger。使用本主题中指定的脚本在测试数据库中创建必要的对象。
使用下面的脚本创建带有两个输入参数的过程:DateFrom和DateTo。根据这些输入参数,schedule_list表填满了数据。
调试存储过程
假设你需要得到时间表特定的时间段。为此,请执行 FillSchedule 过程:
1. 在Database Explorer中,选择您的测试数据库。
2. 单击“ Procedures ” ,然后右键单击“ FillSchedule” 过程,并单击快捷菜单中的“ Execute ” 。
3. 输入输入参数。
4. 单击OK。
收到错误消息,告诉我们TimeSheetDate 列不能为空。
注意:实际文档外观可能与上图略有不同,具体取决于您使用的产品。
调试程序
要开始调试存储过程:
1. 要编译存储过程以进行调试,请执行数据库资源管理器中的所需过程,选择“ Compile ” ,然后单击“ Compile Dependants for Debugging” 。
2. 单击“ Debug ” 工具栏上的“ Start Debugging” 按钮,或按CTRL + F5 。
3. 如果尚未编译过程,dbForge Studio会提示您编译它。单击Yes。
4. 再次输入存储过程输入参数,然后单击“ OK ” 。
您可以看到黄色箭头标识了执行指针当前所在的堆栈帧。
5. 将TimeSheetDate 变量添加到Watches 。右键单击源代码中的TimeSheetDate 变量,然后从快捷菜单中选择“ Add Watch ” 选项。因此,您可以在调试时跟踪TimeSheetDate 值。现在您可以看到TimeSheetDate 变量出现在Watches 窗口中。
6. 在enumdays 临时表中插入TimeSheetDate 变量的位置插入断点。
7. 单击“ Debug ”工具栏上的“单步执行”按钮,或按F11单步执行代码。
8. 几次单击后,您将遇到此断点,这意味着不会忽略当前代码。
但是,正如您在Watches 窗口中看到的那样,TimeSheetDate 变量的值为NULL 。我们知道TimeSheetDate 字段不能接受NULL值。因此可以得出结论,应该初始化TimeSheetDate 变量。
9. 在将TimeSheetDate 变量插入表之前初始化它。
10. 现在重启调试过程。为此,请单击“ Debug ”工具栏上的“ Restart ”按钮 。
11. 重复步骤2-8。
12. 现在,一旦你到达断点,你可以看到TimeSheetDate变量的值是日期,这是绝对正确的。
13. 要停止调试过程,请单击“ Stop ” 按钮。
14. 单击“ Execute ” 以运行存储过程。
15. 您可以看到消息告诉我们存储过程已成功执行。要验证这一点,您可以从表中检索数据。
16. 在Database Explorer中,选择所需的数据库。
17. 单击Tables,然后用鼠标右键单击该所需的表。
18. 单击快捷菜单中的“ Retrieve Data”。
19. dbForge Studio显示结果表。
如您所见,Debugger for MySQL是一个非常简单而强大的工具。您可以使用不同的调试技术来获得正确的结果。