SqlDeveloper SPOOL:空行第一行

时间:2017-03-02 13:16:41

标签: oracle oracle-sqldeveloper spool

我想使用SqlDeveloper(版本为4.1.5.21)将多个表导出为以分号分隔的文件。

目前我使用

SET SQLFORMAT delimited
spool ..\dir\table1.csv
select * from table1;
spool off;

对于脚本中的每个表,这很好。

问题是生成的文件第一行是空白。是否有可能删除它?我已经完成了一些研究,看起来在SqlPlus中没有实现在SqlPlus中处理的功能。

我也尝试在SqlPlus中完成相同的操作,但我甚至没有接近SqlDeveloper生成的结果。

如果使用spool无法摆脱那个空行,是否有任何sql内置函数可以用来操作结果标志,所以我不必运行SqlDeveloper然后运行bash脚本来获取正确的文件?

1 个答案:

答案 0 :(得分:0)

如果有人偶然发现这个问题:

正如Alex在评论中指出的那样,这是SqlDeveloper版本4.1.15(可能是早期版本)中的一个错误。要摆脱它,请升级到4.2.0。

如果您和我一样,出于某种原因坚持使用早期版本,您可以使用与SqlDeveloper一起提供的sqlcl来执行您的脚本,而不会出现所描述的问题。

我的.sql脚本如下所示:

SET ECHO OFF
SET FEEDBACK OFF
SET sqlformat delimited ; " "

spool ..\relative\path.csv
select * from table1;

SPOOL OFF;
QUIT;