SQLPLUS 命令跳过:设置 serveroutput on;
Posted
技术标签:
【中文标题】SQLPLUS 命令跳过:设置 serveroutput on;【英文标题】:SQLPLUS Command Skipped: set serveroutput on; 【发布时间】:2014-06-24 07:01:54 【问题描述】:在 ORACLE SQL Developer 中,当我尝试使用其输出运行过程调用时,它会被执行。
create or replace
procedure allparam_proc(name varchar2,nestedtable_param VARCHAR2_TT)
is
begin
DBMS_OUTPUT.PUT_LINE('allparam_proc');
FOR i IN nestedtable_param.FIRST..nestedtable_param.LAST LOOP
DBMS_OUTPUT.PUT_LINE(nestedtable_param(i));
END LOOP;
end;
问题:
set serveroutput on;
declare
fruits VARCHAR2_TT := VARCHAR2_TT('Orange','Kumquat','Grape','Banana');
begin
allparam_proc('leo',fruits);
end;
输出:
第 1 行:跳过 SQLPLUS 命令:设置 serveroutput on;
【问题讨论】:
您能说说您使用的SQL Developer
的版本吗?启用服务器输出可以通过View -> Dbms Output
完成;分号就好了。选择需要执行的内容,F5
就足够了。好的做法是用/
结束每个PL/SQL
块,尽管有时该工具会隐式执行。
是的,它可以作为答案。
很好,发布的答案很少有额外的信息和参考。谢谢!
【参考方案1】:
在 SQL Developer 中,可以通过 View -> Dbms Output
启用 serveroutput
使用分号很好。但是,选择需要执行的内容,F5
(作为 脚本 执行)就足够了。
良好做法是用/
结束每个PL/SQL 块,尽管该工具有时会隐式执行此操作。至少当IDE
有多个anonymous PL/SQL 块时,它提高了可读性和连续性。Answers here 有详细的解释。
【讨论】:
感谢您的回答。以上是关于SQLPLUS 命令跳过:设置 serveroutput on;的主要内容,如果未能解决你的问题,请参考以下文章