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

时间:2008-10-10 21:35:29

标签: oracle printing oracle-sqldeveloper

我正在使用Oracle SQL(在SQLDeveloper中,使用SQL Worksheet)。我想在我的选择之前打印一个声明,例如

PRINT 'Querying Table1';
SELECT * from Table1;

我用什么来打印/显示文字输出?它不是打印,因为这给了我错误:绑定变量Table1未声明。 DBMS_OUTPUT.PUT_LINE是一个未知命令。 (显然,我是一个没有经验的SQLDeveloper和Oracle用户。必须有一些Print的同义词,但我很难在不知道它的情况下找到它的帮助。)

8 个答案:

答案 0 :(得分:132)

enter image description here

简单评论:

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

答案 1 :(得分:36)

PROMPT text to print

注意:必须使用    以脚本运行(F5) 不    运行声明(Ctl + Enter)

答案 2 :(得分:20)

你可以set echo开启:

set echo on
REM Querying table
select * from dual;

在SQLDeveloper中,按F5以脚本形式运行。

答案 3 :(得分:12)

您可以将文本放在选择语句中,例如......

SELECT 'Querying Table1' FROM dual;

答案 4 :(得分:7)

对我而言,我只能使用

set serveroutput on format word_wrapped;

wraped和WRAPPED只是抛出错误:SQLPLUS命令失败 - 没有足够的参数

答案 5 :(得分:2)

主要答案没有进行新安装的步骤,必须打开dbms输出窗口。

enter image description here

然后是我使用的脚本:

dbms_output.put_line('Start');

另一个脚本:

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

答案 6 :(得分:1)

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

  

设置回声

     

REM MyFirstTable

     

设置echo off

     

从MyFirstTable中删除;

     

设置回声

     

REM MySecondTable

     

设置echo off

     

从MySecondTable中删除;

上例中的输出如下所示:

  

-REM MyFirstTable

     

删除了13行。

     

-REM MySecondTable

     

删除了27行。

答案 7 :(得分:0)

如果我忽略开始-结束,那就是错误。所以对我来说,这是行得通的(不需要其他):

set serveroutput on;
begin
DBMS_OUTPUT.PUT_LINE('testing');
end;