Редактировать запись, а затем удалить ее - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь отредактировать запись postgresql и сразу же удалить ее.Цель состоит в том, чтобы обновляемое поле использовалось в качестве параметра триггера, который регистрирует операцию.

Если я использую сохраненную функцию, все работает правильно.Но если я использую CTE, я не могу удалить запись.

with tmp as (
   update users set by_user_id = '0004' where id = '0006' returning id
)
delete from users
using tmp
where users.id = tmp.id;

http://sqlfiddle.com/#!17/b677a/1

1 Ответ

0 голосов
/ 28 октября 2018

За документация:

Попытка обновить одну и ту же строку дважды в одном операторе не поддерживается.Происходит только одна из модификаций, но не легко (а иногда и невозможно) надежно предсказать, какая именно.Это также относится к удалению строки, которая уже была обновлена ​​в том же операторе: выполняется только обновление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...