在Oracle SQL Developer SQL工作表窗口中打印文本

在Oracle SQL Developer SQL工作表窗口中打印文本,oracle,printing,oracle-sqldeveloper,Oracle,Printing,Oracle Sqldeveloper,我正在使用Oracle SQL(在SQLDeveloper中,使用SQL工作表)。我想在选择之前打印一条语句,例如 PRINT 'Querying Table1'; SELECT * from Table1; 我使用什么来打印/显示文本输出?它不是Print,因为这给了我一个错误:Bind变量Table1未声明。DBMS_OUTPUT.PUT_行是未知命令。(显然,我是一个缺乏经验的SQLDeveloper和Oracle用户。打印肯定有同义词,但我在不知道它是什么的情况下很难找到帮助。)您可以

我正在使用Oracle SQL(在SQLDeveloper中,使用SQL工作表)。我想在选择之前打印一条语句,例如

PRINT 'Querying Table1';
SELECT * from Table1;
我使用什么来打印/显示文本输出?它不是Print,因为这给了我一个错误:Bind变量
Table1
未声明。DBMS_OUTPUT.PUT_行是未知命令。(显然,我是一个缺乏经验的SQLDeveloper和Oracle用户。打印肯定有同义词,但我在不知道它是什么的情况下很难找到帮助。)

您可以:


在SQLDeveloper中,点击F5以作为脚本运行。

您可以将文本放入select语句中,例如

SELECT 'Querying Table1' FROM dual;

简单评论如下:

set serveroutput on format wrapped;
begin
    DBMS_OUTPUT.put_line('simple comment');
end;
/

-- do something

begin
    DBMS_OUTPUT.put_line('second simple comment');
end;
/
你应该得到:

anonymous block completed
simple comment

anonymous block completed
second simple comment
如果要打印变量的结果,下面是另一个示例:

set serveroutput on format wrapped;
declare
a_comment VARCHAR2(200) :='first comment';
begin
    DBMS_OUTPUT.put_line(a_comment);
end;

/

-- do something


declare
a_comment VARCHAR2(200) :='comment';
begin
    DBMS_OUTPUT.put_line(a_comment || 2);
end;
您的输出应该是:

anonymous block completed
first comment

anonymous block completed
comment2
注意:必须使用 作为脚本运行(F5) 不
Run语句(Ctl+Enter)

对我来说,我只能让它工作

set serveroutput on format word_wrapped;

WRAPPED和WRAPPED只是抛出了错误:SQLPLUS命令失败-参数不足

如果您不希望所有SQL语句都被回显,但只希望看到脚本的易于识别的结果,请按以下方式执行:

开启回声

REM MyFirstTable

激起回声

从MyFirstTable中删除

开启回声

REM mysecondable

激起回声

从MySecondTable中删除

上述示例的输出如下所示:

-REM MyFirstTable

删除了13行

-REM mysecondable

删除了27行


主要答案遗漏了新安装的一个步骤,即必须打开dbms输出窗口

然后我使用的脚本:

dbms_output.put_line('Start');

另一个脚本:

set serveroutput on format wrapped;
begin
    DBMS_OUTPUT.put_line('jabberwocky');
end;

如果我说开始-结束是错误的。因此,对我来说,这是可行的(没有其他需要):


第一行设置serveroutput的包装格式;应将serveroutput设置为包装格式;我不能让它工作<代码>将服务器输出设置为word_包装格式;开始dbms_输出。放入_行(“hello world”);结束;select*from dual给我:
select*from dual;错误报告:ORA-06550:第7行第1列:PLS-00103:遇到符号“SELECT”06550。00000-“行%s,列%s:\n%s”*原因:通常是PL/SQL编译错误*操作
在较新版本的SQL Developer中,您首先必须使用topleven菜单栏打开DBMS输出窗口:View>DBMS Output。如果没有屏幕截图和文本,可能会是+1 hahaI接受了这个答案,但我看到另一个答案有更多的要点,所以我将我的accept改为该答案。然而,这对我来说确实有效,这是一个很好的答案。这非常有用。谢谢运行语句(Ctl+Enter)也适用于我。
dbms_output.put_line('Start');
set serveroutput on format wrapped;
begin
    DBMS_OUTPUT.put_line('jabberwocky');
end;
set serveroutput on;
begin
DBMS_OUTPUT.PUT_LINE('testing');
end;