Я пытаюсь использовать предложение PostgreSQL RETURNING для UPDATE в операторе UPDATE и сталкиваюсь с проблемами.
Postgres разрешает предложение запроса в INSERT, например:
INSERT INTO films
SELECT * FROM tmp_films WHERE date_prod < '2004-05-07';
Я хотел бы использовать предложение RETURNING из UPDATE в качестве предложения запроса для INSERT, например:
INSERT INTO user_status_history(status)
UPDATE user_status SET status = 'ACTIVE' WHERE status = 'DISABLED' RETURNING status
Все ссылки на Postgres, которые я могу найти, предполагают, что предложение RETURNING ведет себя точно так же, какПредложение SELECT, однако, когда я запускаю что-то подобное, я получаю следующее:
ОШИБКА: синтаксическая ошибка в или около «ОБНОВЛЕНИЕ»
ЛИНИЯ 2: ОБНОВЛЕНИЕ user_statuses
Несмотря на возможность выполнения части UPDATE вышеуказанного запроса без ошибок.
Возможно ли использование предложения RETURNING из UPDATE в качестве предложения запроса для предложения запроса INSERT?
Цель состоит в том, чтобы обновить одну таблицу и вставить в другую с помощью одного запроса, если это возможно.