Message posté par : Jean-Marie Arsac
----------------------------------------
Pas très satisfaisant mais en inversant la proposition cela semble fonctionner avec QGIS
3.16
-----------------
Code :
CREATE TRIGGER trigger_area_TEST_up
AFTER UPDATE
ON 'TEST'
FOR EACH ROW
BEGIN UPDATE 'TEST'
SET SURF_B_HA = st_area(new.geom) / 10000,
NB_LGTS = (
CASE WHEN (("VOCATION" IN ( 'Habitat' , 'Mixte' )) AND
((new."SURF_B_HA" * "DENSITE") >= 1 ))
THEN round(new."SURF_B_HA" * "DENSITE")
WHEN (("VOCATION" IN ( 'Habitat' , 'Mixte' )) AND (1 >
(new."SURF_B_HA" * "DENSITE")))
THEN round(new."SURF_B_HA" * "DENSITE" + 0.5 )
ELSE 0
END)
WHERE fid = new.fid;
END
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=346885#p346885
Pour y répondre : qgis_fr(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