在Oracle SQL Developer SQL工作表窗口中打印文本
-
08-07-2019 - |
题
我正在使用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)
您可以将文本放在选择语句中,例如......
SELECT 'Querying Table1' FROM dual;
对我而言,我只能使用
set serveroutput on format word_wrapped;
包装和WRAPPED只是抛出错误:SQLPLUS命令失败 - 没有足够的参数
如果您不希望回显所有SQL语句,但只希望看到脚本易于识别的结果,请按以下方式执行:
设置回声
REM MyFirstTable
设置echo off
从MyFirstTable中删除;
设置回声
REM MySecondTable
设置echo off
从MySecondTable中删除;
上例中的输出如下所示:
-REM MyFirstTable
删除了13行。
-REM MySecondTable
删除了27行。
不隶属于 StackOverflow