#1 Fri 09 December 2022 11:20
- LAFONT40
- Juste Inscrit !
- Date d'inscription: 5 Sep 2012
- Messages: 5
Problème de syntaxe sur un trigger postgres
Bonjour,
Je souhaite créer un trigger qui me permet lors de la modification attributaire d'un objet de :
Calculer la somme de 4 champs différents pour alimenter un 5ième.
En bref, j'ai 5 champs :
*Surface 1
*surface 2
*Surface 3
*Surface 4
*Surface totale
Je souhaite obtenir la somme automatiquement pour des surface 1,2,3 et 4 pour remplir la surface totale lors de la modification des champs surfaces
Par contre si c'est possible je souhaiterai ne lancer le trigger uniquement que sur l'objet modifié.
J'ai réussi sur des INSERT, et sur des modifications géographique en ajoutant une condition (IF ST_EQUALS(NEW.geometrie, OLD.geometrie) IS FALSE THEN)
Merci de votre aide
Sylvain
Base POSTGRES en version 12 avec POSGIS
Hors ligne
#2 Fri 09 December 2022 16:52
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
Re: Problème de syntaxe sur un trigger postgres
Bonjour
Il faut créer la fonction qui va faire la somme des surfaces, puis faire l'appel de cette fonction au travers d'un trigger qui se déclenchera sur la modification d'un (ou plus) des 4 attributs surface :
Code:
create trigger montrigger before update of surface1, surface, surface3, surface4 on matable for each row execute procedure mafonction()
Cordialement
JP
Hors ligne