在 Oracle SQL Developer SQL 工作表窗口中打印文本
Posted
技术标签:
【中文标题】在 Oracle SQL Developer SQL 工作表窗口中打印文本【英文标题】:Print text in Oracle SQL Developer SQL Worksheet window 【发布时间】:2010-09-16 15:00:54 【问题描述】:我正在使用 Oracle SQL(在 SQLDeveloper 中,使用 SQL 工作表)。我想在我的选择之前打印一个语句,例如
PRINT 'Querying Table1';
SELECT * from Table1;
我用什么来打印/显示文本输出?这不是打印,因为这给了我错误:绑定变量Table1
未声明。 DBMS_OUTPUT.PUT_LINE 是未知命令。 (显然,我是一个缺乏经验的 SQLDeveloper 和 Oracle 用户。一定有一些 Print 的同义词,但我在不知道它是什么的情况下无法找到有关它的帮助。)
【问题讨论】:
【参考方案1】:对于简单的 cmets:
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
【讨论】:
第一行将服务器输出设置为换行格式;应将 serveroutput 设置为 WRAPPED 格式; 我无法让它工作。set serveroutput on format word_wrapped; begin dbms_output.put_line('hello world'); end; select * from dual
给我:select * from dual; Error report: ORA-06550: line 7, column 1: PLS-00103: Encountered the symbol "SELECT" 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation error. *Action
在较新版本的 SQL Developer 中,您首先必须使用顶部菜单栏打开 DBMS 输出窗口:查看 > Dbms 输出。
本来可以,但是屏幕截图和没有文字,本来可以+1哈哈【参考方案2】:
PROMPT text to print
注意:必须使用 作为脚本运行 (F5) 不是 运行语句(Ctl + Enter)
【讨论】:
这太有用了。谢谢! 运行语句(Ctl + Enter)也适用于我。【参考方案3】:您可以set echo 开启:
set echo on
REM Querying table
select * from dual;
在 SQLDeveloper 中,按 F5 以作为脚本运行。
【讨论】:
我已经接受了这个作为答案,但是我看到另一个答案有更多的点,所以我把我的接受改为了。但是,这确实对我有用,这是一个很好的答案。【参考方案4】:您可以将您的文本放在一个选择语句中,例如...
SELECT 'Querying Table1' FROM dual;
【讨论】:
【参考方案5】:主要答案为新安装留下了一个必须打开 dbms 输出窗口的步骤。
然后是我使用的脚本:
dbms_output.put_line('Start');
另一个脚本:
set serveroutput on format wrapped;
begin
DBMS_OUTPUT.put_line('jabberwocky');
end;
【讨论】:
【参考方案6】:对我来说,我只能让它工作
set serveroutput on format word_wrapped;
wraped 和 WRAPPED 刚刚抛出错误:SQLPLUS 命令失败 - 没有足够的参数
【讨论】:
【参考方案7】:如果我省略 begin - end 是错误的。所以对我来说这是有效的(不需要其他任何东西):
set serveroutput on;
begin
DBMS_OUTPUT.PUT_LINE('testing');
end;
【讨论】:
【参考方案8】:如果您不希望所有 SQL 语句都被回显,而只想查看脚本的易于识别的结果,请这样做:
设置回显
REM 我的第一个表
关闭回声
从 MyFirstTable 中删除;
设置回显
REM 我的第二个表
关闭回声
从 MySecondTable 中删除;
上述示例的输出将如下所示:
-REM 我的第一个表
已删除 13 行。
-REM MySecondTable
已删除 27 行。
【讨论】:
以上是关于在 Oracle SQL Developer SQL 工作表窗口中打印文本的主要内容,如果未能解决你的问题,请参考以下文章
为啥 SQL Developer 与 SQL Plus 中的 Oracle PL/SQL 响应时间存在差异?
Windows 64位 安装Oracle instantclient 官方绿色版和PL/SQL Developer 总结
PL/SQL developer连接oracle出现“ORA-12154:TNS:could not resolve the connect identifier specified”问题的解决(代码