PL/SQL Debug

PL/SQL Developer中如何调试oracle的存储过程
 
1.   打 开PL/SQL Developer
如果 在机器上安装了PL/SQL Developer的话,打 开PL/SQL Developer界面
 
输入 用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定
 
 
找到 需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码.
 
 
2.   添 加debug信 息
为了 能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中[添加调试信息].
 
这样 就为包体添加了调试信息。
 
 
3.   调 试存储过程
现在 所有的准备工作都做好了,可以调试跟踪存储过程了。
 
选择 需要调试的存储过程,点击右键,在弹出菜单中 选择[测试],进去测试窗口.
 
测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,对于我们目前只是为了调试存储过程, 自动生成的代码已经足够了。接着按照如下的步骤进行调试。
 
(1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数 的,参数可以在测试窗口右下部分输入。
 
如:GetPanNO_New需要一个输入参数
v_employeeid,我们输入180,输出参数是mycursor,是查
看结果的,不需要输入任何值。
 
(2)开始调试,点击[调试]菜单->[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行.
 
 
(3)以后的调试过程跟我们熟悉的的调试过程就一样了:
 
运行 (Ctrl+R)
 单步 进入(Ctrl+N)
 单步 跳过(Ctrl+O)
 
单步 退出(Ctrl+T)
 
或者 点击debug工具条上的按扭:
 当按Ctrl+N进去存储过程的源代码中后
 
 
在这 个窗口中可以查看过程中的变量值和堆栈。
 
 
(4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮).
 
  4.   Tip  
令人 比较郁闷的是我们项目中很多的存储过程都是一个SELECT语句,不管这个SELECT语句多么复杂(SELECT语句中有嵌套的子SELECT语句),它也只能作为一行代码,单步跟踪就没有什么意义了。在这种情况下,我们只能将子的SELECT语句提取出来,看看他的结果如何,具体操作如下:
 
 你可以在调试的过程中,在任何你需要查看子SELECT语句的时候新建一个SQL窗口,然后将子SELECT语句的代码拷贝到这个SQL窗口中运行,查看子SELECT语句的运行结果(当然这个子SELECT语句也可以调试)。  
 

SQLDebug是八九软件开发的一个免费的智能查询分析器,它支持Access、MSSQL、MYSQLORACLE数据库,它的特性有: SQL语法快速自动完成 能根据数据库类型自动补全数据库保留字、表名、字段名、函数等。 强大的脚本编辑器 强大的SQL代码编辑功能,类似VS、Delphi、Java的快捷方式,如果你熟悉以上编写,编辑将会使用很顺手。 可中断的数据查询 查询数据可以随时中断,避免一查100多万条数据,程序长久没有反应。 强大的数据库结构分析 可以查看用户表、系统表、视图、存储过程、函数、用户自定义数据类型,而且表和视图可以查看:表结构、主键、外键、索引;视图和存储过程还可以查看创建SQL脚本。 强大的二次数据分析功能 对查询出来的数据进行二次分析,提供过滤,排序、查找、编辑、导出。特点:支持把字段置为null,显示每个字段的属性(完全和数据库数据类型对应),对长文本的查看,大多SQL查询器在显示很长文本,会耗尽系统资源,对空字段显示,不可编辑字段用红色字体显示,给用户显示更直观。对BLOB字段支持导入导出。 强大的数据导出功能 数据可以导出为:TXT、CSV、HTML、RTF、XLS,而且还用鼠标支持选择一部分数据导出。还支持选择表导出成Access文件,方便携带数据。 很好用的数据库结构比较和数据比较 对同种数据库之间比较表结构不同,特别适合维护几个版本的数据库,而且还可以比较两个表之间的数据。 支持同时查询几个数据库 软件采用独特的界面技术和数据库链接池技术,实现可以同时查询几个不同/相同类别的数据库。 软件界面简洁、美观、大方,而且软件还是免费的,无任何使用和升级的限制。作者保留版权。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值