Re: date de la derniere modif

From: Stéphane Bunel <stephane(at)stratum-ip(dot)net>
To: chetzacoalt(at)free(dot)fr
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: date de la derniere modif
Date: 2005-07-28 09:26:43
Message-ID: 42E8A4D3.3060008@stratum-ip.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

santiago wrote:
> merci, j'aurais meme pas a chercher :)
>
> j'en profite pour ajouter une autre question :
> est ce qu'un trigger defini comme ici sur les update d'un table A
> peut modifier une table B ?

Bonjour,

Il suffit de mettre le même trigger sur la table B si celle-ci a aussi
un champ m_time. Sachez qu'il est possible de faire pratiquement tout ce
que l'on veut dans une fonction. Elle peut-être écrite en d'autre
langage que plsql. Moi même j'utilise plutôt Python dès que la fonction
à écrire est un peut plus complexe. D'autre préférerons perl, C, ...

Stéphane BUNEL.

>
> merci
>
>
> Stéphane Bunel wrote:
>
>>santiago wrote:
>>
>>
>>>salut
>>>
>>>je voudrais savoir si postgres conserve la date de derniere modif pour
>>>chaque ligne ?
>>
>>
>>Je ne crois pas avoir déjà vu cela.
>>
>>
>>>je cherche, mais j'arrive pas a trouver. je suppose que ca signifie non.
>>>Il y a un moyen simple de rajouter ca ?
>>
>>
>>Oui avec un trigger, par exemple :
>>
>>1) Vous ajouter à <votre table> un champs de type timestamp, tel que :
>>
>>m_time timestamptz NOT NULL DEFAULT now(),
>>
>>2) Ce champ sera modifier par la fonction suivante :
>>
>>CREATE OR REPLACE FUNCTION tf_update_m_time()
>> RETURNS "trigger" AS
>>$BODY$
>>BEGIN
>> NEW.m_time := now() ;
>> RETURN NEW;
>>END;
>>$BODY$
>> LANGUAGE 'plpgsql' VOLATILE;
>>
>>3) Fonction qui sera appelée sur l'évènement de votre choix, par exemple
>>à chaque UPDATE de <votre table>, tel que :
>>
>>CREATE TRIGGER t_m_time
>> BEFORE UPDATE
>> ON <votre table>
>> FOR EACH ROW
>> EXECUTE PROCEDURE tf_update_m_time();
>>
>>Stéphane BUNEL.
>>
>>PS: Dans le 2) la notation $BODY$ n'est valable qu'a partir de PG8. Pour
>>un PG plus "ancien", utilisez des simples quote (').
>>
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Jean-Christophe Arnu 2005-07-28 09:34:48 Re: Abeille
Previous Message Jean-Christophe Arnu 2005-07-28 09:18:53 Abeille