请帮我创建一个从oracle数据库导出数据到指定路径的过程,因为.csv文件从另一个表中获取学习名称。
QUERY: select * from enrollment where study_name = 'FTY67' ;
我在所有研究名称的同一数据库中有另一张表(研究)。
有没有办法创建程序,从研究表中获取研究名称,并重复此程序为所有研究创建.csv文件?
在互联网上阅读一些文章,但没有找到与此相关的任何内容。 请帮忙。
答案 0 :(得分:0)
您应该查看假脱机并设置命令。由于数据库通常在远程服务器上运行,因此无法将文件写入本地计算机。为了实现这一点,你必须编写一个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