将列 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。
我想为来自 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。