Pages: 1
- Sujet précédent - Postgis trigger : peupler auto. champ geom depuis champs X/Y - Sujet suivant
#1 Wed 16 February 2022 10:24
- image95
- Participant assidu
- Date d'inscription: 6 Sep 2014
- Messages: 257
Postgis trigger : peupler auto. champ geom depuis champs X/Y
Bonjour,
J'arrive bien à "peupler" mon champ geom depuis les champs X/Y grace à :
Code:
ALTER TABLE my_table ADD COLUMN geom geometry(Point, 2154); UPDATE my_table SET geom = ST_SetSRID(ST_MakePoint(x, y), 2154);
J'aimerais pouvoir mettre en place un trigger afin que le champ geom se peuple
automatiquement sur ma table dès lors qu'il y ait une nouvelle insertion/mise à jour des champ X/Y.
Si une personne pense pouvoir m'éclairer.
Merci.
Dernière modification par image95 (Wed 16 February 2022 10:25)
Hors ligne
#2 Wed 16 February 2022 11:21
- JP LLORENS
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
Re: Postgis trigger : peupler auto. champ geom depuis champs X/Y
Bonjour,
Commencer par créer la fonction trigger :
Code:
CREATE OR REPLACE FUNCTION mafonction() RETURNS trigger AS $BODY$DECLARE -- déclaration des variables éventuelles BEGIN -- test éventuel IF xxxx THEN NEW.geom = ST_SetSRID(ST_MakePoint(NEW.x, NEW.y), 2154); END IF; return NEW; END;$BODY$ LANGUAGE plpgsql VOLATILE SECURITY DEFINER COST 100; ALTER FUNCTION mafonction() OWNER TO postgres;
NEW étant l'objet (la ligne) de la table en cours de modification
Puis création du trigger :
Code:
CREATE TRIGGER "montrigger" BEFORE INSERT OR UPDATE OF x,y ON my_table FOR EACH ROW EXECUTE PROCEDURE mafonction();
Cordialement
Hors ligne
Pages: 1
- Sujet précédent - Postgis trigger : peupler auto. champ geom depuis champs X/Y - Sujet suivant