gis
Database
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
trigger_point_adr
Parameters
Name
Type
Mode
Definition
DECLARE idvoie integer; adrvoie text; BEGIN -- Récupération de l'identifiant de la voie dévérouillée la plus proche SELECT adresse.get_id_voie(NEW.geom) into idvoie; -- Si aucune voie dévérouillée proche mais qu'un identifiant de voie est fourni -- on le garde la voie IF idvoie is NULL AND NEW.id_voie IS NOT NULL THEN idvoie:= NEW.id_voie; END IF; IF idvoie IS NOT NULL THEN -- Si l'identifiant de voies est non null IF NOT (SELECT adresse.num_exists(NEW.numero, NEW.suffixe, idvoie)) THEN -- Si l'adresse n'existe pas déjà on enregistre et modififie le nom complet NEW.id_voie = idvoie; SELECT nom_complet into adrvoie FROM adresse.voie WHERE id_voie = idvoie; IF NEW.suffixe IS NOT NULL THEN NEW.adresse_complete = CONCAT(NEW.numero, ' ', NEW.suffixe, ' ', adrvoie); ELSE NEW.adresse_complete = CONCAT(NEW.numero, ' ', adrvoie); END IF; RETURN NEW; ELSE -- Sinon enregistrement impossible RETURN NULL; END IF; ELSE -- Sinon on modifie valide et on enregistre NEW.valide = False; RETURN NEW; END IF; END;