oracle存储过程的调试

来源:互联网 发布:c语言易错点 编辑:程序博客网 时间:2024/04/19 13:07

本文主要介绍如何在PL/SQL Developer中如何调试oracle的存储过程。

1.    打开PL/SQL Developer

如果在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面

输入用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定

 

找到需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码.

 

2.    添加debug信息

为了能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中[添加调试信息].

这样就为包体添加了调试信息。

 

3.    调试存储过程

现在所有的准备工作都做好了,可以调试跟踪存储过程了。

选择需要调试的存储过程,点击右键,在弹出菜单中选择[测试],进去测试窗口.

测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,对于我们目前只是为了调试存储过程,自动生成的代码已经足够了。接着按照如下的步骤进行调试。

1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数的,参数可以在测试窗口右下部分输入。

如:GetPanNO_New需要一个输入参数v_employeeid,我们输入180,输出参数是mycursor,是查看结果的,不需要输入任何值。

 

2)开始调试,点击[调试]菜单->[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行.

 

3)以后的调试过程跟我们熟悉的的调试过程就一样了:

运行(CtrlR

单步进入(CtrlN

单步跳过(CtrlO

单步退出(CtrlT

或者点击debug工具条上的按扭:

当按CtrlN进去存储过程的源代码中后

 

在这个窗口中可以查看过程中的变量值和堆栈。

 

4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮).

 

4.    Tip

 

令人比较郁闷的是我们项目中很多的存储过程都是一个SELECT语句,不管这个SELECT语句多么复杂(SELECT语句中有嵌套的子SELECT语句),它也只能作为一行代码,单步跟踪就没有什么意义了。在这种情况下,我们只能将子的SELECT语句提取出来,看看他的结果如何,具体操作如下:

Ÿ   你可以在调试的过程中,在任何你需要查看子SELECT语句的时候新建一个SQL窗口,然后将子SELECT语句的代码拷贝到这个SQL窗口中运行,查看子SELECT语句的运行结果(当然这个子SELECT语句也可以调试)。

 

 

原创粉丝点击