如何调试oracle存储过程

本文详细介绍在PL/SQL Developer中调试Oracle存储过程的方法,包括设置断点、单步调试等技巧,并提供了一个简单的存储过程示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pl sql developer中如何调试存储过程以及调试包中创建的存储过程

如何调试oracle存储过程

PL/SQL中为我们提供了调试存储过程的功能,可以帮助你完成存储过程的预编译与测试。
  1. 点击要调试的存储过程,右键选择TEST
  2. 如果需要查看变量,当然调试都需要。在右键菜单中选择Add debug information.
  3. start debugger(F9)开始我们的测试,Run(Ctrl+R)
  4. 随时在varible List中输入我们想查看的变量

其它:

Step into(Ctrl+N):单步调试,进入下一步

Step over(Ctrl+O):结束该语句

Step out(Ctrl+T):跳出该过程

Run to next exception:进入下一个断点Breakpoint

Toggle Breakpoint设置断点:光标指向一行,Ctrl+B;或鼠标点中该行的行号边缘 

 

 

(1)在body里设置断点(在要设置断点的行开始点击鼠标左键就可以)。

(2)右键点击TEST.

会出现如下TEST WINDOWS窗口

在下面红圈中的位置value栏中输入参数值,因为varstr是输入参数,所在要输入一个值,但是io_cursor是输入输出参数,在此做为输出参数不预输入值

(3) Debug-->Start.

如果上面操作步骤中在debug——start不能点击是灰色的,则是因为未给此用户分配调的权限,

如果点击执行的话则pl/sql developer 调试存储过程报错

note:debugging requires the debug connect session system privilege.

原因是用户权限不够,使用以下命令授予权限:

用sysdba角色的用户名登录,使用如下命令

GRANT debug any procedure, debug connect session TO username

(4)点击红色框的按钮进行单步调试,自动会跳到存储过程体内。

(5)把鼠标放到变量上可以显示出该变量的值,。


也可以在变量外点击鼠标右链选择Add variable to Watches

此时会在下图红圈中列出该变量的值

点南上图红色粗线中的按钮,弹出如下对话框显示该变量值的详细信息

下面是创建一个简单存储过程的例子

CREATE OR REPLACE PACKAGE u_pg_test   as
       TYPE t_cursor IS REF CURSOR ;
       Procedure u_sp_test(varStr varchar2, io_cursor IN OUT t_cursor);
END;

CREATE OR REPLACE PACKAGE BODY u_pg_test AS

Procedure u_sp_test(varStr varchar2, io_cursor IN OUT t_cursor) IS

    v_cursor t_cursor;
    varSql varchar2(666);

BEGIN
varSql:='Select * aa where ANAME='''||varStr||'''';

    OPEN v_cursor FOR varSql;

io_cursor := v_cursor;

END u_sp_test;

END u_pg_test;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值