iamlaosong文
有人说PL/SQL Developer中用dbms_output.put_line输出前需要执行命令set serveroutput on才行,其实要看在什么窗口下,command窗口是这样,SQL窗口是一直有输出的,这条命令也不能在SQL窗口执行。只是这些输出要等程序执行完才能看到,可以用下面这段代码测试,将其复制到SQL窗口执行即可:
declare
i number:=1;
dt char(8);
begin
while (i<30)
loop
dt:=to_char(sysdate-i,'yyyymmdd');
dbms_output.put_line('date:'||dt);
i:=i+1;
end loop;
end;
执行完才能看到下面这些结果:
date:20160907
date:20160906
date:20160905
date:20160904
date:20160903
date:20160902
date:20160901
date:20160831
date:20160830
date:20160829
。。。
存储过程的调试也是这样,只有等程序执行完毕,然后根据显示内容进行分析。
当然,存储过程可以单步调试,调试过程中可以监控变量的值,如果存储过程中用dbms_output.put_line输出,单步调试过程中是看不到的,必须等程序执行完才行。