2016-12-29 100 views
0

工作在我的Postgres 9.6环境中,当我尝试执行“合并到”查询时,它抛出我下面的错误:合并到不是随着Postgres 9.6

ERROR: syntax error at or near "MERGE" 
LINE 1: MERGE INTO Stock USING Buy ON Stock.item_id = Buy.item_id W... 
     ^

现在看来似乎不支持MERGE查询。但是,当我做谷歌,似乎MERGE从9.1版Postgres支持。

请告诉我这里出了什么问题。

编辑:以下是我在Postgres中找到MERGE支持的来源。

https://wiki.postgresql.org/wiki/MergeTestExamples

+1

从您发布的链接:**这是从来没有集成到PostgreSQL和要求显著的工作是生产质量** –

+0

[在PostgreSQL中如何进行UPSERT(MERGE,INSERT ... ON DUPLICATE UPDATE)]可能的重复?](http://stackoverflow.com/questions/17267417/how-to-upsert-merge-insert-on -duplicate-update-in-postgresql) –

+0

唯一的身份验证声明的存在或语法的统一性来源是[**手册**](https://www.postgresql.org/docs/current/static/index.html),不是一些随机的谷歌搜索或维基页面明确指出该功能没有被集成到Postgres中 –

回答

0

MERGE又名INSERT ... ON CONFLICT DO NOTHING/UPDATEUPSERT只适用于postgres 9.5及更高版本:

Note: MERGE is often used interchangeably with the term UPSERT.

UPSERT functionality will be in the PostgreSQL 9.5 release -- see What's new in PostgreSQL 9.5 MERGE is not in 9.4.5 (the latest PostgreSQL release as of 2015-10-08)