Oracle 跳过SQLPLUS命令:打开服务器输出;

Oracle 跳过SQLPLUS命令:打开服务器输出;,oracle,plsql,oracle-sqldeveloper,Oracle,Plsql,Oracle Sqldeveloper,在OracleSQLDeveloper中,当我尝试使用过程调用的输出运行过程调用时,会执行该命令 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 LO

在OracleSQLDeveloper中,当我尝试使用过程调用的输出运行过程调用时,会执行该命令

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;
输出:

set serveroutput on;
declare
fruits VARCHAR2_TT := VARCHAR2_TT('Orange','Kumquat','Grape','Banana');
begin
    allparam_proc('leo',fruits);
end;

第1行:跳过SQLPLUS命令:打开设置serveroutput

在SQL Developer中,可以通过
视图->Dbms输出来启用

可以使用分号。但是,选择需要执行的内容,就足够了

好的做法是使用
/
结束每个PL/SQL块,尽管该工具有时会隐式地这样做。当
IDE
有多个块时,它至少提高了可读性和连续性。

有详细的解释


您能提到您使用的
SQL Developer
版本吗?可以通过
查看->数据库管理系统输出
启用服务器输出;分号可以。选择需要执行的内容,
F5
就足够了。好的做法是,用一个
/
结束每个
PL/SQL
块,虽然有时工具会隐式地完成它。是的,它可以作为答案。很好,已发布的答案没有多少额外信息和参考。谢谢谢谢你的回答。