【问题标题】:How to UPDATE table from csv file?如何从 csv 文件更新表?
【发布时间】:2023-03-18 23:43:01
【问题描述】:

如何从 PostgreSQL 中的 csv 文件更新表? (版本 9.2.4)

复制命令用于插入。但我需要更新表。如何在没有临时表的情况下从 csv 文件更新表?
我不想从 csv 文件复制到临时表并从临时表更新表。
没有像 Oracle 这样的合并命令?

【问题讨论】:

  • 为什么你不想使用临时表?永久暂存表(创建为UNLOGGED)或使用postgres_fdwfile_fdw 从文件中读取数据并将数据转换为目标表的db 函数怎么样?
  • 非常感谢。我试试看..我不想使用临时表的原因是..有很多表(大约100个表)每小时更新一次

标签: postgresql csv merge bulkinsert foreign-data-wrapper


【解决方案1】:

简单而快速的方法是使用临时临时表,详细信息请参阅这个密切相关的答案:
How to update selected rows with values from a CSV file in Postgres?

如果您出于某种未知原因不“想要”它,还有更多方法:

此相关答案中的详细信息:
Read data from a text file inside a trigger

Postgres 中没有MERGE 命令,COPY 就更少了。
关于是否以及如何添加它的讨论正在进行中。查看the Postgres Wiki for details

【讨论】:

  • 非常感谢。我试试看
猜你喜欢
  • 2017-08-09
  • 1970-01-01
  • 1970-01-01
  • 2015-05-30
  • 2020-11-10
  • 1970-01-01
  • 2014-04-04
  • 2015-07-10
  • 2022-01-18
相关资源
最近更新 更多