开发环境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存储函数的位置插入断点。

30breakpoint-for-function.png

4、单击“31run.png开始调试”,然后输入过程的输入参数值。

5、将CurrDate变量添加到Watches窗口。此选项允许您在单步执行代码时跟踪变量的值。要将变量添加到Watches窗口中,右键单击CurrDate变量,然后选择32watches.png添加Watch在快捷菜单上。该变量将出现在Watches窗口中。

33function-watches.png

6、使用F11键或 Step Into按钮逐步执行代码,或按CTRL + F5直接移动到断点。

请注意,当您处于SET TimeSheetDate语句时,CurrDate变量将其值从NULL更改为DATE

34hiting-breakpoint-function.png34currdate-value(1).png

7、按F11或者点击单步执行,以获得内部GetFirstDayOfMonth存储函数。

注意:您可以通过单击“35stepover.png跳过”按钮忽略单步执行该函数。在这种情况下,您将继续单步执行存储过程。

8、单步执行GetFirstDayOfMonth函数,直到退出到存储过程,并继续到结束。

注意:您可以通过单击“36stepout.png跳出”按钮返回存储过程代码。在这种情况下,您将继续单步执行存储过程。

现在,不会出现CurrDate变量的值。原因是变量在FillSchedule过程中声明,并且此时您处于不同的上下文中。您可以从当前上下文向Watches窗口添加任何变量以跟踪其值。

37function-code.png

您可以单击“调用堆栈”窗口中的FillSchedule过程以返回到父代码。请注意,与CurrDate不同,Date变量现在未被识别。

38procedure-code.png


猜你喜欢

转载自blog.51cto.com/14467432/2433498
今日推荐