在我的 Postgres 9.6 环境中,当我尝试执行“MERGE INTO”查询时,它抛出以下错误:
ERROR: syntax error at or near "MERGE"
LINE 1: MERGE INTO Stock USING Buy ON Stock.item_id = Buy.item_id W...
^
好像不支持MERGE查询。然而,当我搜索时,Postgres 似乎从 9.1 版本开始支持 MERGE。
请告诉我这里出了什么问题。
编辑:以下是我在 Postgres 中找到 MERGE 支持的来源。
Postgres 不支持 MERGE 功能。
见https://www.postgresql.org/docs/9.6/unsupported-features-sql-standard.html
F312 |合并声明 |考虑插入...关于冲突做更新
同样在最新版本(当前14)中不支持。
MERGE
又名 INSERT ... ON CONFLICT DO NOTHING/UPDATE
或 UPSERT
仅适用于 postgres 9.5 及更高版本:
注意:MERGE 通常与术语 UPSERT 互换使用。
UPSERT 功能将出现在 PostgreSQL 9.5 版本中——请参阅 PostgreSQL 9.5 中的新内容 MERGE 在 9.4.5 中没有(最新的 PostgreSQL 于 2015-10-08 发布)