我正在使用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万。
是否可以创建这样的程序?
答案 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