Bonjour,
Je débute dans les triggers et dans le langage PL PGSQL et je rencontre quelques soucis :
Lors d'un update sur une table je souhaite simplement enregistrer le timestamp du moment dans un champ nommé "date_last_maj" de cette même table. Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TRIGGER trig_maj_date BEFORE UPDATE ON portail.deci_g_tab_pei FOR EACH ROW EXECUTE PROCEDURE public.maj_date();Lors de la modification d'une ligne directement via pgAdmin par exemple, le trigger se déclenche et fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE OR REPLACE FUNCTION public.maj_date() RETURNS trigger AS $BODY$ BEGIN NEW.date_last_maj=current_timestamp; RETURN NEW; END; $BODY$ LANGUAGE plpgsql VOLATILE
Lors d'une modification via un formulaire web qui exécute une requête update sous PHP, le trigger ne se déclenche pas.
Qu'en pensez-vous ? Bug de postgresql, mauvais règlages, mauvais développement du trigger ?
Merci par avance de votre aide,
Gwen
Partager