| От | Tom Lane |
|---|---|
| Тема | Re: recursive trigger |
| Дата | |
| Msg-id | 4041.1078681276@sss.pgh.pa.us обсуждение |
| Ответ на | recursive trigger (Mage <mage@mage.hu>) |
| Ответы |
Re: recursive trigger
|
| Список | pgsql-general |
Mage <mage@mage.hu> writes:
> what's wrong with this?
> if new.parent <> old.parent then
> update test set name = ''old'' where parent = old.parent;
You should just do
if new.parent <> old.parent then
new.name = ''old'';
As you have it, the inner UPDATE pre-empts the outer because it is
applied first. When control comes back from the trigger, the row
the trigger was handed is now dead (already updated) and can't be
updated again.
regards, tom lane
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера