Message posté par : Jean-Marie Arsac
----------------------------------------
Bonjour,
Ce serait plutôt (non testé) :
-----------------
Code :
CREATE FUNCTION rva.set_longueur_voie() RETURNS trigger AS $BODY$
BEGIN
UPDATE rva.an_voie
SET longueur = (SELECT sum(st_length(geom)) FROM rva.geo_section_voie
WHERE id_section IN (
SELECT id_section FROM rva.an_section_voie WHERE id_voie = OLD.id_voie
)
WHERE id_voie = OLD.id_voie;
return OLD;
END;
$BODY$ LANGUAGE plpgsql;
-----------------
NB: la valeur de retour du trigger AFTER est ignorée mais ne doit pas être nulle pour
permettre l'exécution d'éventuels autres triggers
-----------------
Code :
CREATE TRIGGER tr_update_longueur_voie AFTER DELETE ON rva.an_section_voie
FOR EACH ROW EXECUTE PROCEDURE rva.set_longueur_voie();
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=338678#p338678
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