Re: Update rule

Поиск
Список
Период
Сортировка
Искать
От
Secrétariat
Тема
Re: Update rule
Дата
Msg-id
011201c4ef1a$456ac5b0$0100a8c0@lrp43008
Список
Дерево обсуждения
Re: Update rule Secrétariat <ets@rolland-fr.com>
Many thanks for your explanation.
I found in the contrib the function moddatetime
CREATE TRIGGER dmodtar_upd
   BEFORE UPDATE ON tarifs
   FOR EACH ROW
   EXECUTE PROCEDURE public.moddatetime(dmodtar) ;
So all works fine !
PostgreSQL 8 is great.

----- Original Message ----- 
From: "Pierre-Frédéric Caillaud" 
To: "Secrétariat" ; 
Sent: Thursday, December 30, 2004 7:08 PM
Subject: Re: [GENERAL] Update rule


>
> You get infinite recursion because your ON UPDATE rule does another 
> UPDATE which of course calls the rule ; so no, it's not a bug ; also your 
> UPDATE updates almost the whole table so it won't do what you had in mind 
> in the first place. You should rather change the NEW row in your update so 
> that NEW.dmodtar = current_date and NEW.umodtar = current_user. Which 
> means you'll rather be using a trigger for this. Read the docs on CREATE 
> TRIGGER and see the examples, I think there's one which looks like what 
> you want.
>
>
>> Hello !
>>
>> I wish to create a rule to write in records who and when modified them.
>> I wrote :
>> CREATE OR REPLACE RULE tarif_upd AS
>>    ON UPDATE TO tarifs
>>    DO ALSO
>>       UPDATE tarifs
>>             SET dmodtar = current_date, umodtar = current_user
>>       WHERE dmodtar <> current_date AND umodtar <> current_user ;
>> But I obtain an infinite recursion !
>> It seems not using the where clause ?
>> Is it a bug ?
>> How can I workaround ...
>>
>> Best regards.
>> Luc
>
>
> 

В списке pgsql-general по дате отправления
От: Tatsuo Ishii
Дата:
Сообщение: Re: pg_dump and pgpool
От: Frank Millman
Дата:
FAQ