作者:iamlaosong
唉,真土,曾经用Toad。一直用dbms_output.put_line调试存储过程,仅仅认为不方便,用上PL/SQL Developer后,习惯性的还是用这种方法。人都是有惰性的。今天分析存储过程生成的数据,实在认为不便,网上搜了一下,PL/SQL Developer中调试oracle的存储过程的方法,事实上非常easy。我知道学会使用PL/SQL
Developer的调试功能,对于编写复杂的存储过程,包,funtion...非常有帮助,对运行存储过程形成的结果进行分析时也非常实用处,学习之后,果然、当真方便。现将相关步骤摘录例如以下:
1、首先是编写存储过程,编译无误;
2、加入debug信息。为了可以单步跟踪存储过程,须要为其所在的包加入debug信息,右键点击须要调试的存储过程名称。在弹出菜单中选中[add debug information],这样就为包体加入了调试信息;
3、选择须要调试的存储过程名称。点击右键,在弹出菜单中 选择[Test]。进去測试窗体,測试窗体中有为了測试该存储过程自己主动所产生的代码。当然你也能够自己另外增加和改动代码。自己主动生成的代码已经足够了。
begin
-- Call the procedure
sxjk_sn_jsgfl(pinput => :pinput);
end;
4、有參数的存储过程须要在以下的參数输入表格中输入參数值,见下图中的參数值“n”。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWFtbGFvc29uZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
5、開始调试。点击工具条上Start图标或者按F9进入调试模式。以后的调试过程跟我们熟悉的的调试过程就一样了(以下是菜单或者工具条上的部分调试功能):
Run(Ctrl+R)全速执行,到断点停下。
Step into(Ctrl+N)运行一步。假设是调用过程。进入子过程。
Step over(Ctrl+O)运行一步,不管什么语句。
Step out(Ctrl+T)运行完过程,直到从过程中退出到上一级。
。。
。。。
。
6、调试过程中能够设置断点(点击断点语句的左側灰色空白处,出现一个红色的叉就是断点,再次点击能够取消),能够查看过程中的变量值(鼠标指向变量时,系统自己主动显示这个变量的值)。
假设无法单步运行或者无法设置断点。可能是上面第二步[add debug information]没有做。