Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

 

Pied de page des forums

Powered by FluxBB