最近oracle开发中遇到的一些问题及解决办法(四):调试存储过程--待续

 Oracle中调试存储过程  :

先说下笨方法:

有一种调试办法就是在程序中打印出变量的值,在JAVA中俺是打印在控制台上的。以下告诉众位如何从在sqlplus上实现。

1、sqlplus 上执行 “set serveroptput on”命令

2、在存储过程中可以用  DBMS_OUTPUT.PUT_LINE(VarName); 来打印出来

给个存储过程的例子:

create or replace procedure test is

 Emp_name    VARCHAR2(10);
   Cursor      c1 IS SELECT Ename FROM EMP
                  WHERE Deptno = 20;
BEGIN
   OPEN c1;
   LOOP
      FETCH c1 INTO Emp_name;
      EXIT WHEN c1%NOTFOUND;
      DBMS_OUTPUT.PUT_LINE(Emp_name);
   END LOOP;

end test;

 

后台建立test这个存储过程,编译它,以scott/tiger帐号进入,执行set serveroptput on,然后执行“exec test”

然后说下用工具调试:

下面就把我工作中调试存储过程的方法,简单的说明一下:

调试oracle存储过程

环境: win2003 server oracle9i pl/sql developer 7
调试方法:
1 在pl/sql developer 里右击要调试的存储过程,选择"添加调试信息"命令
2 如果存储过程没有语法错误,右击存储过程,选择"测试"命令
3 在"测试窗口"中安F9,调试(注意如果有输入参数的话,要先给各个参数赋值)
4 "ctrl n"单步调试,调试过程中,将变量名添加到现面的变量列表里按回车键,或者将鼠标放到某个变量的上面,就会看到该变量的值了.
(首先对该Procedure右键处理,添加“add debug information”,然后选择“test”,打开新的测试窗口,在下方对应的输入输出变量地方,添加相应的测试数据,注意:这里的数据输入,不需要引号,输出参数不需要输入然后点击“start debugger”,或者按F9,进行测试,可以选择测试的步骤如“step into”等,然后可以在下面的script窗口看到,中间变量;)

在PL/SQL   Developer中调试存储过程的时候如何查看存储过程中定义的变量的值?

在调度的过程中,点中变量,右键有[Add   variable   to   Watch],然后在下面变量窗口就可以看值了!

调试sql server存储过程

环境: win 2003 server sql server 2000(带查询分析器 啊)
微软的东西界面就是比较友好,操作数据库用不着借助第三方工具
调试方法:
1 打开查询分析器
2 选中要调试的存储过程,右击"调试"
3 输入参数,如果有的话
4 "执行", 哇,简直就和VC的调试界面一个样,(再次对微软进行点名表扬啊^_^)剩下的就不用说了吧

补充一句:
以前在别的机器上,曾经遇到过不能调试的问题,查看系统日志,意思是说用户权限不够什么的,当时解决的方法是用系统管理员的帐户启动sql server的服务(在"服务"里设置),然后再用同样的帐户登录系统调试,就OK了

至于DB2以前用过一次,用的是第三方的工具quest centrol来操作数据库,这个工具的友好性比DB2官方的管理工具让我说的话强了可不止百倍,不过当时也没有搞清楚怎么调试存储过程,后来也没有再接触DB2,也就不了了之了,有谁知道的话,一定要告诉我一声啊

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值