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

Rencontres QGIS 2025

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

#1 Wed 31 July 2013 15:48

Sylvain Dambier
Juste Inscrit !
Lieu: Niort
Date d'inscription: 13 Sep 2007
Messages: 3

Problème Trigger sous PostGIS

Bonjour,

Je suis en train de créer une application de gestion des poteaux d'incendie sous "Aigle Générateur".
J'aimerai, après l'ajout ou la modification d'un poteau, remplir un champ 'wgs84' directement avec les coordonnées concaténées de la manière suivante : wgs84 = y,+x

j'ai créé le trigger suivant :

CREATE OR REPLACE FUNCTION maj_coord()
RETURNS trigger AS $$
    BEGIN
        IF (NEW.geom IS not null) then
            NEW.wgs84 := y(centroid(st_transform("hydrants"."aep_pi"."geom",4326)))||',+'||x(centroid(st_transform("hydrants"."aep_pi"."geom",4326)));
        END IF;
        RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER tg_hyd_maj_coord
AFTER INSERT OR UPDATE
ON hydrants.aep_pi
FOR EACH ROW
EXECUTE PROCEDURE maj_coord();

Le trigger ne me renvoie aucune erreur dans PostGIS mais l'ajout d'un poteau me renvoie une erreur via Aigle : "Attention, une erreur s'est produite lors de la mise à jour"

Je n'arrive pas à voir d'ou peut provenir l'erreur.
Quelqu'un pourrait m'aider sur ce sujet ?

D'avance merci

Hors ligne

 

#2 Wed 31 July 2013 17:35

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: Problème Trigger sous PostGIS

Bonjour,

Le trigger doit etre défini BEFORE INSERT OR UPDATE.

La mise à jour d'une colonne n'est possible qu'avant l'opération d'insert ou d'update. Un AFTER trigger ne peut plus modifier la ligne ou la table concernée.

Nicolas

Hors ligne

 

#3 Wed 31 July 2013 18:46

Sylvain Dambier
Juste Inscrit !
Lieu: Niort
Date d'inscription: 13 Sep 2007
Messages: 3

Re: Problème Trigger sous PostGIS

Bonjour Nicolas,

J'avais fait le même trigger avec un BEFORE, j'avais la même erreur.
C'est pourquoi j'ai essayé avec un AFTER...

Sylvain

Hors ligne

 

#4 Thu 01 August 2013 13:12

Jcros
Juste Inscrit !
Date d'inscription: 11 Dec 2009
Messages: 5

Re: Problème Trigger sous PostGIS

Ce qui pourrais aider dans la résolution du problème, se serait de faire un insert "à la main" et non pas au travers de votre outil.
Ainsi vous pourriez nous communiquez le message d'erreur SQL (là il a l'air d'ètre "caché" par votre application)

Hors ligne

 

#5 Thu 01 August 2013 13:41

VianneyD
Participant assidu
Date d'inscription: 30 May 2011
Messages: 153

Re: Problème Trigger sous PostGIS

Bonjour,

Est-tu sûr que les fonctions Centroid(), X() et Y() soient interprétées ?

Peut-être faut il leur rajouter le préfixe ST_


Vianney Dugrain

Hors ligne

 

Pied de page des forums

Powered by FluxBB