Re: recursive trigger

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: recursive trigger
Дата
Msg-id 4041.1078681276@sss.pgh.pa.us
обсуждение исходный текст
Ответ на recursive trigger  (Mage <mage@mage.hu>)
Ответы Re: recursive trigger  (Mage <mage@mage.hu>)
Список 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 по дате отправления:

Предыдущее
От: Michael Meskes
Дата:
Сообщение: Re: ECPG - bug in EXEC SQL WHENEVER NOT FOUND?
Следующее
От: Mage
Дата:
Сообщение: Re: recursive trigger