- Timestamp:
- 01/27/13 16:43:12 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/konvert/postnas_0.7/alkis-trigger-hist-oracle.sql
r210 r211 90 90 END IF; 91 91 92 IF beginnt IS NULL THEN 93 IF :NEW.context = 'delete' OR :NEW.safetoignore = 'true' THEN 94 dbms_output.put_line('Kein Beginndatum fuer Objekt ' || alt_id || ' gefunden.'); 95 :NEW.ignored := 'true'; 96 RETURN; 97 ELSE 98 raise_application_error(-20100, 'Kein Beginndatum fuer Objekt ' || alt_id || ' gefunden.'); 99 END IF; 100 END IF; 101 92 102 IF :NEW.context='delete' THEN 93 103 SELECT to_char(sysdate, 'YYYY-MM-DD"T"HH24:MI:SS"Z"') INTO endete FROM dual; … … 130 140 INTO endete; 131 141 END IF; 142 143 IF alt_id<>neu_id THEN 144 dbms_output.put_line('Objekt ' || alt_id || ' wird durch Objekt ' || neu_id || ' ersetzt.'); 145 END IF; 146 147 IF endete IS NULL THEN 148 dbms_output.put_line('Kein Beginndatum fuer Objekt ' || neu_id || '.'); 149 END IF; 150 151 IF endete IS NULL OR beginnt=endete THEN 152 raise_application_error(-20100, 'Objekt ' || alt_id || ' wird durch Objekt ' || neu_id || ' ersetzt (leere Lebensdauer?).'); 153 END IF; 132 154 ELSE 133 155 raise_application_error(-20100, :NEW.featureid || ': UngÃŒltiger Kontext ' || :NEW.context || '''delete'' oder ''replace'' erwartet).'); 134 END IF;135 136 IF alt_id<>neu_id THEN137 dbms_output.put_line('Objekt ' || alt_id || ' wird durch Objekt ' || neu_id || ' ersetzt.');138 END IF;139 140 IF beginnt IS NULL THEN141 dbms_output.put_line('Kein Beginndatum fuer Objekt ' || alt_id || '.');142 END IF;143 144 IF endete IS NULL THEN145 dbms_output.put_line('Kein Beginndatum fuer Objekt ' || neu_id || '.');146 END IF;147 148 IF beginnt IS NULL OR endete IS NULL OR beginnt=endete THEN149 raise_application_error(-20100, 'Objekt ' || alt_id || ' wird durch Objekt ' || neu_id || ' ersetzt (leere Lebensdauer?).');150 156 END IF; 151 157 … … 163 169 :NEW.ignored := 'true'; 164 170 RETURN; 171 ELSIF n=0 THEN 172 EXECUTE IMMEDIATE 'SELECT endet FROM ' || :NEW.typename || 173 ' WHERE gml_id=''' || alt_id || '''' || 174 ' AND beginnt=''' || beginnt || '''' 175 INTO endete; 176 177 IF NOT endete IS NULL THEN 178 dbms_output.put_line( :NEW.featureid || ': Objekt bereits ' || endete || ' untergegangen - ignoriert' ); 179 ELSE 180 dbms_output.put_line( :NEW.featureid || ': Objekt nicht gefunden - ignoriert' ); 181 END IF; 182 183 :NEW.ignored := 'true'; 184 RETURN; 165 185 ELSE 166 186 raise_application_error(-20100, :NEW.featureid || ': Untergangsdatum von ' || n || ' Objekten statt nur einem auf ' || endete || ' gesetzt - Abbruch' ); … … 169 189 170 190 :NEW.ignored := 'false'; 171 RETURN;172 191 END delete_feature_trigger; 173 192 /
Note: See TracChangeset
for help on using the changeset viewer.