0

我正在使用 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 万行。

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

4

2 回答 2

1

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

请参阅http://www.devshed.com/c/a/Oracle/Reading-Text-Files-using-Oracle-PLSQL-and-UTLFILE/Oracle 写入文件

于 2012-08-13T18:04:33.643 回答
0

我只是在这里发布一个答案:创建 .csv 输出的过程

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

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

在 SQL Window 中右键单击 -> Change Window to -> Command Window

set term off ...
spool c:\tmp\t\txt
select ...
spool off
于 2013-04-22T10:52:26.497 回答