38

我想从 Oracle SQL Developer 创建我的查询的平面文件(文本文件)。

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

我得到这个输出:

标头000001 标头000002
------------ ------------
Adetail1 Bdetail1
Adetail2 Bdetail2
Adetail3 Bdetail3

但是,我想得到这个输出:

Adetail1Bdetail1
Adetail2Bdetail2
Adetail3Bdetail3

我已经尝试过“设置航向”命令,但有一条消息说:

"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;
4

2 回答 2

44

跳过 SQLPLUS 命令:设置航向

该消息很可能是因为您不是通过 执行它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 
于 2015-02-24T07:01:24.890 回答
6

添加:

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

请参阅本书以供参考。

于 2018-06-20T14:24:16.853 回答