oracle在plsql中set serveroutput on 调用存储过程没输出
刚开始学习写存储过程,我在plsql中setserveroutputon后,用callprocedure,执行后显示Methodcalled,但是没有输出,怎么不是PL/...
刚开始学习写存储过程 ,我在plsql中 set serveroutput on 后,用call procedure,执行后显示Method called,但是没有输出,怎么不是PL/SQL procedure successfully completed,并加上输出呀,当我用execute 直接执行输出时,能输出,并将上一次执行的procedure该输出却未输出的结果一起输出来了,下面是我的执行结果。
SQL> call test1();
Method called
SQL> execute DBMS_OUTPUT.PUT_LINE('TEST');
abc
TEST
PL/SQL procedure successfully completed
同样的存储过程,我在sqlplus中调用,set serveroutput on 后,能输出,后面的提示 是 “调用完成”,怎么不是 “PL/SQL 过程已成功完成”,下面是执行代码命令。
SQL> call test1();
abc
调用完成。
SQL> execute test1();
abc
PL/SQL 过程已成功完成。
麻烦大哥们给我说下,顺便说下,提示“调用完成”,和提示“PL/SQL 过程已成功完成”个在什么情况下提示。
哪个大哥给我讲讲啊 为什么 调用后没有输出呀
哪位大哥 再回答下呀
二楼的大哥 我用的 是命令窗口 执行了后 显示不出来的 展开
SQL> call test1();
Method called
SQL> execute DBMS_OUTPUT.PUT_LINE('TEST');
abc
TEST
PL/SQL procedure successfully completed
同样的存储过程,我在sqlplus中调用,set serveroutput on 后,能输出,后面的提示 是 “调用完成”,怎么不是 “PL/SQL 过程已成功完成”,下面是执行代码命令。
SQL> call test1();
abc
调用完成。
SQL> execute test1();
abc
PL/SQL 过程已成功完成。
麻烦大哥们给我说下,顺便说下,提示“调用完成”,和提示“PL/SQL 过程已成功完成”个在什么情况下提示。
哪个大哥给我讲讲啊 为什么 调用后没有输出呀
哪位大哥 再回答下呀
二楼的大哥 我用的 是命令窗口 执行了后 显示不出来的 展开
展开全部
打开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是执行这个储存过程 包括编译,运行。
个人愚见
个人理解还是因为call 和 execute的不同。
你从这2个单词也可以看得出来。
一个是调用 一个是执行。
我认为:call test1() 是调用这个储存过程,只运行。
而 execute是执行这个储存过程 包括编译,运行。
个人愚见
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PLSQL Developer?那你要打开命令行窗口才行,就是PLSQL Developer里面的COMMAND LINE;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询