PL/SQL中测试存储过程,如何立即输出DBMS_OUTPUT的语句。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PL/SQL中测试存储过程,如何立即输出DBMS_OUTPUT的语句。相关的知识,希望对你有一定的参考价值。
请问在PL/SQL中测试存储过程,同时多次调用过程,在每一个过程后面都加了一句dbms_output.put_line(i);
具体脚本如下
declare
i integer;
begin
-- Call the procedure
sp_did_day(1,i);
dbms_output.put_line(i);
sp_did_day(2,i);
dbms_output.put_line(i);
sp_did_day(3,i);
dbms_output.put_line(i);
sp_did_day(4,i);
dbms_output.put_line(i);
sp_did_day(5,i);
dbms_output.put_line(i);
end;
这个在所有的过程都执行完才能输出,如何立即输出啊?
这样一起调用的匿名块,肯定要等程序执行完才一起输出。 参考技术A 把在dbms_output.put_line 写在 sp_did_day 内输出 参考技术B 把在dbms_output.put_line 写在 sp_did_day 内输出追问
这样也不行,也是等全部执行完了才会输出。
参考技术C 我也想知道唉。。。pl/sql developer中如何调试存储过程
1、点击空白页面,然后选择测试窗口。
2、点击完之后就会弹出一个测试窗口的页面
3、然后就可以输入sql进行调试
-- Created on 2020/5/30 by 123 declare -- Local variables here i integer; O_MSG VARCHAR2(50); V_SFC_NO VARCHAR2(50); V_USER VARCHAR2(50); begin -- Test statements here P_CHECK_SFC(:V_SFC_NO,:V_USER,:O_MSG); end;
具体
先定义三个参数,分别对应下面存储过程的三个参数
然后在下面分别为每一个参数变量添加类型和值
然后执行就能看到结果了,如上图的OK值是存储过程返回的结果。(参数O_MSG是out类型)
4、如何一步一步得调试?分别使用上面的6个不同的按钮即可。
第一个:开始调试。
第二个:运行。(点击这个按钮就是一步运行到底。看不到具体每一个sql语句的调试结果)
第三个:单步进入。就是按照顺序一步步地调试的(调试存储过程一般用这个多)
第四个:单步跳过
第五个:单步退出
第六个:运行到下一个异常
第四、五、六个不常用,自己琢磨。
以上是关于PL/SQL中测试存储过程,如何立即输出DBMS_OUTPUT的语句。的主要内容,如果未能解决你的问题,请参考以下文章
oracle创建存储过程时,提示错误是:错误(5,18): PL/SQL: ORA-00947: 没有足够的值?代码如下:
一个存储过程,报错如下 13 PL/SQL:ORA-00922:缺少或无效选项 13 PL/SQL:SQL Statement ignored
Mysql、SQL server有没有PL/SQL?或者是类似PL/SQL的东西?PL/SQL是否存储过程?
oracle创建存储过程时,提示错误是:错误(5,18): PL/SQL: ORA-00947: 没有足够的值?代码如下: