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.在要调试的过程上单击 test ,如下图所示:

2.出现如下界面时单击最左上方的按钮,如下图所示:

3.单击后呈现如下画面:

其中:表示要停止test;表示要全部运行完这个过程。单击它后你就不能单步调试了。

单步调试。单击它后可以像在exlipse或者visal stidio里面一样对程序进行单步调试了。

4.单击“单步调试”按钮。出现如下画面:

这个时候表示你进入了调试状态,你可以单击上面说的任何按钮来控制程序,如下:

表示要停止test,不再调试了;表示要全部运行完这个过程,不再进行单步调试了。

单步调试,表示要一步一步的调试这个程序要想单步调试这个程序,只需要你用鼠标左键连续单击这个按钮即可。

5.断点的使用。

可以使用断点,方法是在文本区域最左侧的边框进行左键单击,如下:

这个时候单击:这个按钮,就可以直接运行到这个位置了,示意图如下:

这个时候再单击,进行一步步的调试。

注意:当你忘记了设置断点,而进入一个非常大的循环时,没有关系,你可以打开这个过程在相应处设置断点,然后单击就可以了。步骤如下:

a.忘了设断点了,但是我进入了非常大的循环单步调试很难退出时:这个时候需要打开这个过程,如下:

b.你需要设置断点的地方左键单击即可,如下图:

c.单击就直接运行到你设置的这个断点的地方了。

5.对监控窗口的使用:

这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了。这个窗口在调试界面的最下方,如下示:

这个sql_str 就是要被监视的对象。

6.继续单步调试:可以看到,这个变量被赋值了。如下图所示:

把它复制出来,在新建的slq window里运行,就可以看到执行结果了。如下图所示:

7.分析每一步的执行结果。

8.继续单步运行,继续分析,直到知道为什么没有产生想要的结果为止。

转载至:http://soft.chinabyte.com/database/332/12270332.shtml

oracle存储过程调试方法的更多相关文章

  1. C#调用Oracle存储过程的方法

    C#调用Oracle存储过程的方法 准备: 环境:pl/sql+oracle9i+vs2008 创建表test: create table TEST(  ID      NUMBER,//编号  NA ...

  2. mysql存储过程调试方法

    有如下一个存储过程 ), i_length ),OUT o_result INT) BEGIN SET @a= NULL; SET @b= NULL; SELECT id INTO @a FROM t ...

  3. oracle存储过程调试报错  ORA-0131 Insufficient privileges 处理

    必须使用oracle用户登录oracle@sqlplus system/system123 as sysdba 以SYS用户登录数据库,执行赋权操作: grant  DEBUG CONNECT SES ...

  4. oracle存储过程调试-plsql

    1.搜索找到存储过程的包,并打开 选中右击--view spec&body 2.找到要测试的存储过程,设置断点,进行测试

  5. Oracle存储过程单步调试方法

    oracle存储过程单步调试的方法 1.在要调试的过程上单击test,如下图所示: 2.出现如下界面时单击最左上方的按钮:,如下图所示: 3.单击后呈现如下画面: 其中: 表示要停止test; 表示要 ...

  6. Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset

    原文 Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset DataSet相当你用的数据库: DataTable相当于你的表.一个 DataSet 可以包含多个 DataTab ...

  7. oracle常用函数以及调用入参为record的存储过程的方法,

    转自:http://www.cnblogs.com/zhangronghua/archive/2007/08/20/862812.html SQL中的单记录函数1.ASCII返回与指定的字符对应的十进 ...

  8. oracle 存储过程定义及调试,并终于被C# 调用 代码

    C# 调用存储过程 參考了非常多文章,写了例如以下文字,算是分享吧 目的:更改积分,并作一定校验 一.一般的调试方法: 方法一:带返回out參数,必须定义变量 myresult DECLARE myr ...

  9. 关于oracle存储过程的一些知识点

    一.创建一个存储过程,批量清空数据库中所有表的数据. --清空数据库中所有表的数据 create or replace procedure truncateAllTables as v_sql ); ...

随机推荐

  1. 鼠标划过图片title 提示实现

    鼠标划过图片title 提示实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  2. layer弹出标签层tab

    引入文件: <script type="text/javascript" src="layer/layer.min.js"></script& ...

  3. BZOJ 1688: Disease Manangement (子集枚举)

    Disease Manangement Q - 枚举子集 Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d &a ...

  4. [异常解决] Make nRF51 DFU Project Appear "fatal error: uECC.h: No such file or directory"

    What's the problem When I make the nRF51's DFU project appear "no uECC.h" error: And then ...

  5. ES聚合实例

    在es中需要根据app_categor进行聚合,JSON查询语句如下: { "query": { "bool": { "must": [ { ...

  6. 关于 mod_python

    首先声明 本文 翻译 别人的文章,文章的作者是 mod_python 项目的负责人,目前 mod_python已由 Apache维护.原文地址: http://www.onlamp.com/pub/a ...

  7. LRU 算法简单实现

    在学习很多服务器软件中,当内存不够,而需要淘汰内存的时候,一般会使用LRU算法,便产生了浓厚的兴趣.在学习操作系统的过程中发现LRU在系统中用寄存器和栈来实现.所以我就尝试着学习用栈来解决LRU的问题 ...

  8. NTOPNG修改密码

    感觉这个有点妖,因为在两个实例上修改密码都失败了. 于是,从网上看看是怎么回事, 按以下步骤重置你想要的密码: 1,为密码生成MD5字串: echo -n "your_password&qu ...

  9. C++编程中对缓冲区的理解(OS默认4096大小的缓冲区,有例子,很形象)

    什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区.缓冲区根据其对应的是输入设备还是输出 ...

  10. CentOS 7 ARM 版发布:支持树莓派2/香蕉派/CubieTruck

    CentOS 7 ARM 版发布:支持树莓派2/香蕉派/CubieTruck 来自CentOS团队的Karanbir Singh很高兴地宣布,面向ARM硬件架构的CentOS 7 Linux已经正式发 ...