Message posté par : sporito
----------------------------------------
Bonjour,
Je souhaiterais mettre en place un trigger qui me permette, au moment de placer un point A
parmi pleins de points B, de récupérer la valeur du champ "numero" de ma couche
PointsB pour remplir mon champ "numeroB" de ma couche PointsA.
Je souhaiterais que ce trigger soit basé sur la condition du plus proche point B de mon
point A.
J'ai essayé ça, mais ça ne fonctionne pas :/
J'ai dc un schéma que l'on appellera "SchemaPoint" avec 2 couches :
PointsA
-numeroB (à remplir)
PointsB
-numero
CREATE OR REPLACE FUNCTION "SchemaPoint".voisins()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
select into new.numeroB numero, ST_distance(new.geom, PointsB.geom) AS voisin
FROM
"SchemaPoint"."PointsA","SchemaPoint"."PointsB"
order by voisin
LIMIT 1;
return new ;
END;
$BODY$;
puis
CREATE TRIGGER update_numero
BEFORE INSERT OR UPDATE
ON "SchemaPoint"."PointsA"
FOR EACH ROW
EXECUTE FUNCTION "SchemaPoint".voisins();
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=352171#p352171
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net