Vous n'êtes pas identifié(e).
Pages : 1
bonjour,
je débute en postgres, mais suis confirmé en SQLserver ou oracle, et là je bute sur quelque chose de simple.
je souhaite, surveiller une table avec un trigger, sur insertion et modification, afin de récupérer dans une autre table , et venir à la volée insérée cette valeur dans un champs de ma table.
exemple :
j’insère A dans matable
je veux qu'une des valeur de A, dans matable prenne la valeur C
je n'y parviens pas...
j'ai vu qu'il fallait créer un procédure appelée par le trigger en postgres, est ce obligatoire, ou bien peut on faire un trigger qui fait tout ?
merci d'avance pour votre aide.
Hors ligne
Bonjour,
Dans Postgres, on sépare le code du trigger et le trigger lui-même. On crée donc une fonction trigger, qui est ensuite appelée par le trigger. Ça fait une commande de plus à taper, mais ça permet d'avoir un code réutilisable pour les triggers.
La séquence est assez simple:
create function ma_fonction_trigger () returns trigger as
…
puis
create trigger mon_trigger before insert or update or delete on ma_table for each row execute procedure ma_fonction_trigger()
Comparé à un trigger oracle, la seule «vraie» différence, c'est juste que le code du trigger aboutit dans la fonction.
C'est expliqué dans la doc ici: https://www.postgresql.org/docs/current … igger.html
Marc.
Hors ligne
Pages : 1