我想通过PL / SQL脚本将Oracle表中的数据导出到* .dbf文件(如excel)。有没有可用的代码?
答案 0 :(得分:1)
有许多不同的方法可以做到这一点。最简单的方法是使用像SQL Developer或TOAD这样的IDE,它提供这种功能。
如果你想从PL / SQL调用它,那么就没有内置的Oracle函数。但是,使用UTL_FILE构建一些东西是相对简单的,它可以写出值分隔的记录。这些可以在Excel中获取。
请注意,如果导出的数据包含逗号,则默认分隔符 - ,
(逗号为.CSV中的“C”)将导致问题。因此,您需要使用“数据导入”向导,而不是右键单击“打开方式...”
顺便说一句,使用.dbf
后缀可能是个坏主意。在Oracle文件系统中,假定的含义是数据库文件 - 即数据库基础结构的一部分。这只是一个惯例,但没有必要让人混淆。提供的替代方案包括.csv
,.dmp
或.exp
。
修改强>
如果您只想将数据导出到另一个Oracle数据库,那么您应该查看使用Data Pump实用程序。它附带一个API,因此可以从PL / SQL中使用它。或者,我们通过使用DataPump驱动程序声明的外部表来卸载数据。
答案 1 :(得分:0)
您还可以考虑使用Oracle的外部表功能。这实际上允许您将CSV文件映射到“虚拟”表,然后您可以插入其中(因此也可以插入文件。)