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

我们可以用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 对话框中查看输出结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mystonelxj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值