-- Contrôle de la géométrie
-- qui doit être dans le Gard
-- On crée une fonction générique qui pourra s'appliquer pour toutes les couches
CREATE OR REPLACE FUNCTION z_formation.validation_geometrie_dans_gard()
RETURNS TRIGGER AS $limite$
BEGIN
-- On vérifie l'intersection avec le département, on renvoit une erreur si souci
IF NOT ST_Intersects(
NEW.geom,
(SELECT geom FROM admin.gard_bc LIMIT 1)
) THEN
-- On renvoit une erreur
RAISE EXCEPTION 'La géométrie doit se trouver dans le Gard';
END IF;
RAISE NOTICE 'Message de type NOTICE';
RETURN NEW;
END;
$limite$
LANGUAGE plpgsql;
-- On l'applique sur la couches des collèges
CREATE TRIGGER trg_validation_geometrie_dans_gard
BEFORE INSERT OR UPDATE ON z_formation.colleges_gard
FOR EACH ROW EXECUTE PROCEDURE z_formation.validation_geometrie_dans_gard();