我想从Oracle SQL Developer创建我的查询的平面文件(文本文件)。
我已经使用SPOOL通过脚本文本文件成功创建了文本文件,但我想将每列的标题删除到我的输出中。
我收到了这个输出:
Header000001 Header000002 ------------ ------------ Adetail1 Bdetail1 Adetail2 Bdetail2 Adetail3 Bdetail3
但是,我想得到这个输出:
Adetail1Bdetail1 Adetail2Bdetail2 Adetail3Bdetail3
我已经尝试过“set heading off”这个命令,但有消息说:
"SQLPLUS COMMAND Skipped: set heading off".
这些是我发出的输入:
spool on;
spool C:\SQLFiles\PSB_ATMLKP.txt;
set newpage 0;
set echo off;
set feedback off;
set heading off;
select terminal_number, terminal_name from terminal_table;
spool off;
答案 0 :(得分:23)
SQLPLUS COMMAND跳过:设置标题关闭
该消息很可能是因为您没有通过SQL*Plus
执行它,而是使用一些基于GUI的工具。您正在SQL Developer中使用SQLPlus命令。并非所有SQL * Plus命令都可以保证与 SQL Developer 一起使用。
我建议你在 SQLPlus 中执行脚本,你会发现没有问题。
你需要:
SET HEADING OFF
这不包括输出中的列标题。
或者,你也可以这样做:
SET PAGESIZE 0
<强>更新强>
在 SQL Developer版本3.2.20.10 :
中测试spool ON
spool D:\test.txt
SET heading OFF
SELECT ename FROM emp;
spool off
创建了假脱机文件没有问题:
> set heading OFF
> SELECT ename FROM emp
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
14 rows selected
答案 1 :(得分:0)
添加:
set underline off
到SQL脚本的开头。
在我的SQL脚本中,我有:
SET TERMOUT OFF
set colsep |
set pagesize 0
set trimspool on
set pagesize 0 embedded on
SET heading on
SET UNDERLINE OFF
spool file_path
-- your SQL here
spool off
请参阅this book以供参考。