gis
Database
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
statut_amenagment_type
Parameters
Name
Type
Mode
Definition
BEGIN IF NEW.amenagement_type IS NULL AND NEW.statut IS NOT NULL THEN IF (SELECT COUNT(*) = 0 FROM veloroutes.statut_segment_val WHERE code = NEW.statut) THEN RAISE EXCEPTION 'statut doit ĂȘtre un code de statut_segment_val'; END IF; NEW.amenagement := (SELECT amenagement FROM veloroutes.amenagement_type_segment_val WHERE code = NEW.statut); NEW.amenagement_type := NEW.statut; END IF; IF NEW.statut IS NULL AND NEW.amenagement_type IS NOT NULL THEN IF (SELECT COUNT(*) = 0 FROM veloroutes.amenagement_type_segment_val WHERE code = NEW.amenagement_type) THEN RAISE EXCEPTION 'amenagement_type doit ĂȘtre un code de amenagement_type_segment_val'; END IF; NEW.amenagement := (SELECT amenagement FROM veloroutes.amenagement_type_segment_val WHERE code = NEW.amenagement_type); NEW.statut := CASE WHEN NEW.amenagement_type = 'BCR' THEN 'RTE' WHEN NEW.amenagement_type = 'BSP' THEN 'ASP' ELSE NEW.amenagement_type END; END IF; RETURN NEW; END;