使用CSV文件中的值更新Oracle表

Tho*_*zer 7 sql csv oracle import plsql

我有一个CSV文件,其中包含一个ID和其他几个列.我在oracle中也有一个表,其中ID标识一行.如何使用CSV文件中的值最好地替换表中的值,同时保持其他列的方式与之前的方式相同?

这必须使用oracle本身提供的工具(即PL/SQL或SQL脚本)来完成,我不能使用"真正的"脚本语言(Python,...)或"真正的"程序.

谢谢,托马斯

CMG*_*CMG 10

查看Oracle doc中的EXTERNAL TABLES.您可以将csv文件复制到Oracle服务器盒上,并让Oracle将其作为"正常"表提供,您可以在该表上运行查询.

然后问题只是将数据从一个表复制到另一个表.

外部表对于处理这样的数据加载非常有用.


ska*_*man 5

用于将CSV类型数据文件加载到数据库中的"标准"Oracle工具是SQLLoader.它通常用于插入记录,但控制文件可以配置为运行更新,如果这是你想要的.

它不是世界上最容易使用的工具(阅读"这是一个痛苦的屁股"),但它是标准工具包的一部分,它完成了这项工作.