Skip to content

Exemple trigger avec RAISE #3

Description

@Gustry
-- 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();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions