Re: Update rule

Поиск
Список
Период
Сортировка
От Secrétariat
Тема Re: Update rule
Дата
Msg-id 011201c4ef1a$456ac5b0$0100a8c0@lrp43008
обсуждение исходный текст
Ответ на Update rule  (Secrétariat <ets@rolland-fr.com>)
Список pgsql-general
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" <lists@boutiquenumerique.com>
To: "Secrétariat" <ets@rolland-fr.com>; <pgsql-general@postgresql.org>
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"
Дата:
Сообщение: Can you use an array of variables in a function?