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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 20 July 2020 11:45

chabot charlène
Participant occasionnel
Date d'inscription: 10 Jun 2009
Messages: 22

Trigger SUM / GROUP

Je souhaiterais que dans ma base se mette à jour automatique ma colonne surf total par site.

J'ai donc mis en place un trigger fonction :

BEGIN
NEW.surface_total:=SUM(ST_Area(new.geom))group by site;
RETURN NEW;
END;

Puis appliquer mon trigger sur ma couche.

Hors lorsque j’essaie d'ajouter une entité dans ma table sous QGIS et d'enregistrer pour voir le résultat voilà le message d'erreur que j'ai :

Erreur PostGIS lors de l'ajout d'entité : ERREUR:  la colonne « site » n'existe pas
LINE 1: SELECT SUM(ST_Area(new.geom))group by site

Je ne comprend pas car ma colonne site existe bien.

Si vous avez des pistes, je suis preneuse....

Hors ligne

 

#2 Tue 21 July 2020 09:24

Ben22
Participant actif
Lieu: 33
Date d'inscription: 11 May 2016
Messages: 96

Re: Trigger SUM / GROUP

Bonjour,

edit : je précise ma première réponse est un peu vague :


site ne marche pas car il n'y a pas de table indiquée dans un From je pense.

Si il s'agit juste de l'aire de l'entité NEW, pas besoin de group by, mais si vous souhaitez additionner son aire avec d'autres valeur comportant le même id/nom de site, vous devrez passer par une sous requête qui sommera les entités par ID de site + celle de l'entité NEW (si trigger BEFORE).

Dernière modification par Ben22 (Tue 21 July 2020 09:39)

Hors ligne

 

Pied de page des forums

Powered by FluxBB