使用SQL Developer直接将查询导出到CSV

时间:2013-10-18 11:14:13

标签: oracle-sqldeveloper

使用SQL Developer运行查询效果很好,但如果我不是先运行查询,然后右键单击结果集并通过导出到csv例程,我会节省大量时间。

我想知道它是否是SQL Developer中的一种方式: 1)编写查询,然后选择将查询结果导出到磁盘。 2)编写一个包含多个查询的队列,每个查询都将结果写入磁盘。

3 个答案:

答案 0 :(得分:38)

您可以使用spool command(SQL * Plus文档,但SQL Developer也支持许多此类命令之一)将结果直接写入磁盘。每个spool都可以更改正在写入的文件,因此只需在它们之间放置spool命令,就可以将多个查询写入不同的文件:

spool "\path\to\spool1.txt"

select /*csv*/ * from employees;

spool "\path\to\spool2.txt"

select /*csv*/ * from locations;

spool off;

您需要将其作为脚本运行(F5,或SQL工作表上方命令栏上的第二个按钮)。您可能还想探索一些formatting optionsset command,但其中一些不会转换为SQL Developer。

由于您在标题中提到了CSV,因此我添加了SQL Developer-specific hint来为您执行格式化。

但缺点是SQL Developer includes the query in the spool file,您可以通过在脚本文件中使用命令和查询来避免这种情况,然后将其作为脚本运行。

答案 1 :(得分:3)

点击网格,使其具有焦点。

CTRL + END

这将强制其余记录重新进入网格。

归功于http://www.thatjeffsmith.com/archive/2012/03/how-to-export-sql-developer-query-results-without-re-running-the-query/

答案 2 :(得分:2)

在Ctrl + End之后,您可以执行Ctrl + A选择缓冲区中的所有内容,然后粘贴到Excel中。 Excel甚至将每个Oracle列放入其自己的列中,而不是将整行压缩到一列中。不错..