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.
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)