0

请帮助我创建一个程序,将数据从 oracle 数据库导出到指定路径,因为 .csv 文件从另一个表中获取研究名称。

询问 : select * from enrollment where study_name = 'FTY67' ;

我在同一个数据库中有另一个表(研究),其中包含所有研究名称。

有什么方法可以创建从研究表中获取研究名称并重复此过程以创建所有研究的 .csv 文件的程序?

在互联网上阅读了一些文章,但没有找到与此相关的任何内容。请帮忙。

4

1 回答 1

0

您应该查看 spool 和 set 命令。由于数据库通常在远程服务器上运行,它无法将文件写入本地计算机。为了实现这一点,你必须在终端中禁用某些特性的地方编写一个 sql,然后将结果假脱机到一个您可以访问的文件中。

这样的事情可能会让你开始:

set term off colsep ";" pause off
spool myfile
select * from x;
spool off
exit

有关可与 SET 一起使用的选项的概述,请参阅此处的 oracle 文档:http: //docs.oracle.com/cd/B19306_01/server.102/b14357/ch12040.htm

使用正确的设置命令,您可以创建 CSV 文件。

上述设置命令只是您可能需要的一些命令,但您可能需要其他参数才能使您的 CSV 可用。

最好将其写入 file.sql 并使用 sqlplus 运行它:

sqlplus user@db @file
于 2013-04-22T10:46:29.597 回答