MERGE INTO не работает с Postgres 9.6

В моей среде 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. Однако, когда я делаю Google, кажется, что MERGE поддерживается Postgres начиная с версии 9.1.

Пожалуйста, скажите мне, что здесь происходит не так.

Изменить: Ниже приведены источники, откуда я нашел поддержку MERGE в Postgres.

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

2 ответа

Postgres не поддерживает функцию MERGE.

См . https://www.postgresql.org/docs/9.6/unsupported-features-sql-standard.html.

Ф312 | Оператор MERGE | ВСТАВЬТЕ... ПРИ КОНФЛИКТЕ СДЕЛАЙТЕ ОБНОВЛЕНИЕ

Также в последней версии (сейчас 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)

Другие вопросы по тегам