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

PRINT 'Querying Table1';
SELECT * from Table1;

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

有帮助吗?

解决方案

简单评论:

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

其他提示

PROMPT text to print

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

您可以设置回音到:

set echo on
REM Querying table
select * from dual;

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

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

SELECT 'Querying Table1' FROM dual;

对我而言,我只能使用

set serveroutput on format word_wrapped;

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

主要答案为新安装留下了一个步骤,其中必须打开dbms输出窗口。

然后我使用的脚本:

dbms_output.put_line('Start');

另一个剧本:

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

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

  

设置回声

     

REM MyFirstTable

     

设置echo off

     

从MyFirstTable中删除;

     

设置回声

     

REM MySecondTable

     

设置echo off

     

从MySecondTable中删除;

上例中的输出如下所示:

  

-REM MyFirstTable

     

删除了13行。

     

-REM MySecondTable

     

删除了27行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top