利用PL/SQL Developer 调试 Oracle 存储过程

版权声明:未经博主允许,请勿转载原创,谢谢! https://blog.csdn.net/mystonelxj/article/details/81698714

我们可以用PL/SQL Developer工具来调试复杂的Oracle存储过程

为便于演示,我们定义了test,test1存储过程,如下所示

create or replace procedure test as
  V_test number;
begin
  V_test := 1;
  dbms_output.put_line(v_test);
  test1();
  dbms_output.put_line('this is test');
end test;
create or replace procedure test1 is
  v_test varchar2(100);
begin
  v_test := '测试';
  dbms_output.put_line(v_test);
end test1;

存储过程中我们定义了多个 dbms_output.put_line() 用以输出信息,显示调试内容。另外,我们定义了函数内部调用,在test 函数中调用了test1 函数,由于Oracle 对大小写不敏感,在PL/SQL Developer工具 中,这两个函数名称均为大写显示

开始调试

在存储过程test名称位置,点击“右键”选择“Test”

在打开的测试窗口中按F9或点击“Start debugger” 按钮

点击“Start debugger”按钮后,出现如下界面

其中,有多个按钮,可根据情况分别使用

1, 指直接运行,当设置 断点时运行到断点时停止,否则运行到结束

2,指单步执行,执行每步语句,当语句为自定义存储过程时,可进入该存储过程。

3,指单步执行,执行每步语句,当语句为自定义存储过程时,直接获取执行结果,准备执行下一步语句。

4,指执行函数体内剩余语句并跳出目前函数,准备执行函数体外下一步语句

5,执行函数语句到光标处。

6,执行语句到异常处,如无异常执行到函数结束。

7,指在debug 的session 中执行相关sql语句,该方法对于物理表意义不大,只有存储过程中涉及oracle临时表的变更操作时,需要查看中间结果可通过点击该按钮,在弹出窗口中输入相关查询语句获取临时表信息。

查看过程变量值

可通过设置变量值,单步执行后,如下图所示

 或通过查看在存储过程中添加dbms_output.put_line() ,在DBMS Output 对话框中查看输出结果

阅读更多
换一批

没有更多推荐了,返回首页