2010-02-10 17 views
11

我有一个select查询产生一个大输出,我想在sqldeveloper中执行它,并将所有结果存入一个文件。使用SQL-Developer时脚本输出到文件

的SQL开发人员不允许结果比5000线大,我有100万行去取......

我知道我可以使用SQL +,但让我们假设我想这样做在的SQLDeveloper。

+1

我的锤子不能拧入螺丝。我不想用螺丝刀,我真的想用锤子。 – Oded 2010-02-10 08:44:13

+5

我想微软必须使用那些组合锤/螺丝刀之一。 (即他们的图形用户界面......) – Greg 2010-09-08 19:27:32

回答

21

而不是使用运行脚本(F5),使用运行声明(Ctrl + Enter)。运行语句一次获取50条记录,并在您滚动浏览结果时显示它们,但您可以通过右键单击结果并选择导出数据 - > csv/html/etc将整个输出保存到文件中。

我是新手SQLDeveloper用户,所以如果有更好的方法,请让我知道。

+0

请注意,它需要最新版本。版本3.0.03没有* Export Data *命令,而版本3.1.06没有。 – Medinoc 2014-01-28 14:04:37

3

是的,您可以通过更改设置工具 - >首选项 - >数据库 - >工作表 - >最大行来打印脚本(取决于您)来增加工作表的大小。

0

如果您只想要单一声明的输出,Mike G answer将起作用。但是,如果您想要使用几个语句,SQL * Plus报表和其他一些输出格式输出整个SQL脚本,则可以按照在SQL * Plus中使用的方式使用spool命令。

3

这个问题真的很旧,但发布这个,所以它可能会帮助有类似问题的人。

您可以将查询存储在query.sql文件中,然后将其作为脚本运行。下面是一个示例query.sql的:

spool "C:\path\query_result.txt"; 
select * from my_table; 
spool off; 

Oracle SQL Developer中你可以运行该脚本这样,你应该能够得到的结果在您的query_result.txt文件。

@"C:\Path\to\script.sql"