Message posté par : Nighthawk
----------------------------------------
Bonjour,
On est bien dans QGIS, dans la "fenêtre SQL" du DB Manager. Effectivement, ce
code n'est pas complet, il s'agit d'une petite partie du code SQL suivant :
-----------------
Code :
CREATE TRIGGER trigger_surface_logements
AFTER UPDATE
ON 'parcelles'
FOR EACH ROW
BEGIN UPDATE 'parcelles'
SET SURF_HA = st_area(new.geom) / 10000,
NB_LGTS = (
CASE WHEN (("VOCATION" IN ( 'Habitat' , 'Mixte' )) AND
((new."SURF_HA" * "DENSITE") < 1))
THEN round((new."SURF_HA" * "DENSITE")+0.5, 0)
WHEN (("VOCATION" IN ( 'Habitat' , 'Mixte' )) AND
((new."SURF_HA" * "DENSITE") >= 1))
THEN round((new."SURF_HA" * "DENSITE"), 0)
ELSE 0
END)
WHERE fid = new.fid;
END
-----------------
Je suis surpris que les opérateurs < et > soient mal reconnus car en SQL ce sont
bien des opérateurs courants et non des balises, et il en est de même dans les requêtes
sous QGIS, mais peut-être ai-je loupé une étape.
En tous cas, les autres opérateurs fonctionnent : AND, OR, NOT, LIKE, =, +, -, *, /
En tous cas merci pour votre retour !
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=346723#p346723
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