SqlDeveloper SPOOL:第一行空白

SqlDeveloper SPOOL: Blank first line

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

目前我在用

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

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

问题是生成的文件有一个空白的第一行。是否可以以某种方式删除它?我做了一些研究,看起来在 SqlPlus 中处理该问题的函数没有在 SqlDeveloper 中实现。

我也曾尝试在 SqlPlus 中完成同样的工作,但我什至没有接近 SqlDeveloper 生成的结果。

如果无法使用 spool 去除该空白行,是否有任何 sql 内置函数可以用来操纵结果标志,这样我就不必 运行 SqlDeveloper 然后 bash 脚本来获取正确的文件?

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

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

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

我的 .sql 脚本如下所示:

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

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

SPOOL OFF;
QUIT;