# HG changeset patch # User Raimund Renkert # Date 1479308203 -3600 # Node ID 60b91dbb98cc6b6d4a5124fa90a2c9566c928ecc # Parent 7c510615a4e826f2617b980d76086d7d9fd2ccbc Added trigger to fill stammdaten.ort attributes. diff -r 7c510615a4e8 -r 60b91dbb98cc db_schema/stammdaten_schema.sql --- a/db_schema/stammdaten_schema.sql Thu Nov 10 13:49:31 2016 +0100 +++ b/db_schema/stammdaten_schema.sql Wed Nov 16 15:56:43 2016 +0100 @@ -14,6 +14,24 @@ SET search_path = stammdaten, pg_catalog; +CREATE FUNCTION set_ort_id() RETURNS trigger + LANGUAGE plpgsql + AS $$ + BEGIN + value = '#'::text || lpad((NEW.id::character varying)::text, 9, '0'::text); + IF NEW.ort_id IS NULL THEN + NEW.ort_id = value; + END IF; + IF NEW.langtext IS NULL THEN + NEW.langtext = value; + END IF; + IF NEW.kurztext IS NULL THEN + NEW.kurztext = value; + END IF; + RETURN NEW; + END; +$$; + CREATE FUNCTION update_letzte_aenderung() RETURNS trigger LANGUAGE plpgsql AS $$ @@ -450,6 +468,7 @@ ); CREATE TRIGGER letzte_aenderung_ort BEFORE UPDATE ON ort FOR EACH ROW EXECUTE PROCEDURE update_letzte_aenderung(); +CREATE TRIGGER set_ort_id_ort BEFORE INSERT ON ort FOR EACH ROW EXECUTE PROCEDURE set_ort_id(); ALTER TABLE ONLY ort ADD CONSTRAINT ort_kta_fkey FOREIGN KEY (anlage_id) REFERENCES kta(id);