将列 Header 删除到输出文本文件中

Remove Column Header into the Output Text file

我想为来自 Oracle SQL 开发人员的查询创建一个平面文件(文本文件)。

我已经使用 SPOOL 通过脚本文本文件成功创建了文本文件,但我想将每一列的 header 删除到我的输出中。

我得到这个输出:

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;

SQLPLUS COMMAND Skipped: set heading off

该消息很可能是因为您没有通过 SQL*Plus 执行它,而是通过一些基于 GUI 的工具执行它。您正在 SQL Developer 中使用 SQLPlus 命令。并非所有 SQL*Plus 命令都能保证与 SQL Developer 一起使用。

我建议您在 SQLPlus 中执行脚本,您不会发现任何问题。

你需要:

SET HEADING OFF

这不会在输出中包含列 headers。

或者,您也可以这样做:

SET PAGESIZE 0

使用 SQL 开发者版本 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 

添加:

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