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;
我想使用 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;