打开set serveroutput on还需要有输出内容才可以显示。
如,有以下存储过程:
create or replace procedure p_test
as
v_begintime varchar2(20);
v_endtime varchar2(20);
v_str varchar2(10);
begin
v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
select 'badkano' into v_str from dual;
v_endtime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');
dbms_output.put_line('开始时间为:'||v_begintime);
dbms_output.put_line('结束时间为:'||v_endtime);
end;
执行:
其中后边红框输入,就是set serveroutput on的输出内容。
这些细节你观察得倒蛮仔细的
个人理解还是因为call 和 execute的不同。
你从这2个单词也可以看得出来。
一个是调用 一个是执行。
我认为:call test1() 是调用这个储存过程,只运行。
而 execute是执行这个储存过程 包括编译,运行。
个人愚见
PLSQL Developer?那你要打开命令行窗口才行,就是PLSQL Developer里面的COMMAND LINE;