使用CSV文件在Oracle中更新表中超过100万行的最佳方法是什么

时间:2016-08-17 09:35:06

标签: sql oracle csv

我正在尝试根据CSV文件中的值仅更新表中100万条记录中的一列。

示例CSV文件: 1,Apple 2,Orange 3,Mango

文件中的第一列是我将用于过滤记录的PK,第二列是我要更​​新的表中列的新值.CSV文件中的PK可能存在也可能不存在于但是数据库。我在考虑创建一个脚本,根据文件制作一百万个更新语句。我想知道是否有更好的方法可以做到这一点?

2 个答案:

答案 0 :(得分:3)

个人我会

  1. 使用sqlldr
  2. 将CSV文件加载到新表中
  3. 确保新表和现有表上的索引正确
  4. 编写ONE update语句以更新新表中的现有表 一个

答案 1 :(得分:2)

我会:

  1. 使用csv
  2. 创建external table
  3. 仅在一次更新中从新外部表更新现有表