从csv数据文件中更新/插入Oracle表



我还在学习OracleSQL,我一直在试图找到最好的方法来更新/插入记录在OracleSQL表与数据从CSV文件

到目前为止,我已经弄清楚如何在Oracle中使用外部表将csv加载到临时表中,但是我很难找到关于如何更新/插入(UPSERT)加载数据到现有表中的详细指南。

当我在表中有30多个字段时,最好的方法是什么?例如,使用pandas之类的东西逐行读取csv并逐个更新每个记录是最好的,还是最好使用合并语句之类的sql脚本来完成?并不是csv中的所有记录都有主键的值,在这种情况下,我需要插入而不是更新。谢谢你的帮助!

看起来确实像个MERGE

外部表的数据将被用于

  • 更新现有行的值
  • 在目标表
  • 中创建新行

Pandas和逐行处理?我不会那么做的。如果您已经拥有一个强大的数据库,那么就使用它的功能。逐行通常很慢,这样做很少有什么好处。

最新更新