我正在使用Oracle SQL(在SQLDeveloper中,使用SQL Worksheet)。我想在我的选择之前打印一个声明,例如
PRINT 'Querying Table1';
SELECT * from Table1;
我用什么来打印/显示文字输出?它不是打印,因为这给了我错误:绑定变量Table1
未声明。 DBMS_OUTPUT.PUT_LINE是一个未知命令。 (显然,我是一个没有经验的SQLDeveloper和Oracle用户。必须有一些Print的同义词,但我很难在不知道它的情况下找到它的帮助。)
答案 0 :(得分:132)
简单评论:
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)
答案 3 :(得分:12)
您可以将文本放在选择语句中,例如......
SELECT 'Querying Table1' FROM dual;
答案 4 :(得分:7)
对我而言,我只能使用
set serveroutput on format word_wrapped;
wraped和WRAPPED只是抛出错误:SQLPLUS命令失败 - 没有足够的参数
答案 5 :(得分:2)
主要答案没有进行新安装的步骤,必须打开dbms输出窗口。
然后是我使用的脚本:
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;