将表导出到多个csv文件的过程

时间:2012-08-13 17:44:18

标签: oracle oracle-sqldeveloper

我正在使用Oracle数据库 - 我必须访问它的唯一方法是通过SQL Developer。我的部分工作涉及将大表导出到csv文件以传递给另一个组。由于这主要是照顾系统,我一直在寻找一种自动化出口过程的方法。

我想要的是这样的程序:

PROCEDURE_EXAMPLE(table_in in VARCHAR2, file_out in VARCHAR2)

其中table_in是我需要导出的表,它将表导出到一系列标题为“file_out_1.csv”“file_out_2.csv”等的csv文件中,每个文件的行数不超过500万。

是否可以创建这样的程序?

2 个答案:

答案 0 :(得分:1)

您可以使用UTL_FILE包。您只能读取可从运行数据库实例的服务器访问的文件。

参见http://www.devshed.com/c/a/Oracle/Reading-Text-Files-using-Oracle-PLSQL-and-UTLFILE/Oracle write to file

答案 1 :(得分:0)

我刚刚在这里发布了一个答案:Procedure to create .csv ouput

使用UTL_FILE包通常不是一个选项,因为它只能在服务器上创建文件而且相当有限。

如果只能使用SQL Developer,则可以将窗口更改为命令窗口,然后就可以像我在其他线程中描述的那样运行命令。

在SQL窗口中右键单击 - >将窗口更改为 - >命令窗口

set term off ...
spool c:\tmp\t\txt
select ...
spool off