Changeset 211
- Timestamp:
- 01/27/13 16:43:12 (11 years ago)
- Location:
- trunk/data/konvert/postnas_0.7
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/konvert/postnas_0.7/alkis-functions.sql
r210 r211 314 314 || ' AND endet IS NULL' 315 315 INTO beginnt; 316 END IF; 317 318 IF beginnt IS NULL THEN 319 IF NEW.context = 'delete' OR NEW.safetoignore = 'true' THEN 320 RAISE NOTICE 'Kein Beginndatum fuer Objekt % gefunden - ignoriert.', alt_id; 321 NEW.ignored := true; 322 RETURN NEW; 323 ELSE 324 RAISE EXCEPTION 'Kein Beginndatum fuer Objekt % gefunden.', alt_id; 325 END IF; 316 326 END IF; 317 327 … … 356 366 INTO endete; 357 367 END IF; 368 369 IF alt_id<>neu_id THEN 370 RAISE NOTICE 'Objekt % wird durch Objekt % ersetzt.', alt_id, neu_id; 371 END IF; 372 373 IF endete IS NULL THEN 374 RAISE NOTICE 'Kein Beginndatum fuer Objekt % gefunden.', neu_id; 375 END IF; 376 377 IF endete IS NULL OR beginnt=endete THEN 378 RAISE EXCEPTION 'Objekt % wird durch Objekt % ersetzt (leere Lebensdauer?).', alt_id, neu_id; 379 END IF; 358 380 ELSE 359 381 RAISE EXCEPTION '%: UngÃŒltiger Kontext % (''delete'' oder ''replace'' erwartet).', NEW.featureid, NEW.context; 360 END IF;361 362 IF alt_id<>neu_id THEN363 RAISE NOTICE 'Objekt % wird durch Objekt % ersetzt.', alt_id, neu_id;364 END IF;365 366 IF beginnt IS NULL THEN367 RAISE NOTICE 'Kein Beginndatum fuer Objekt % gefunden.', alt_id;368 END IF;369 370 IF endete IS NULL THEN371 RAISE NOTICE 'Kein Beginndatum fuer Objekt % gefunden.', neu_id;372 END IF;373 374 IF beginnt IS NULL OR endete IS NULL OR beginnt=endete THEN375 RAISE EXCEPTION 'Objekt % wird durch Objekt % ersetzt (leere Lebensdauer?).', alt_id, neu_id;376 382 END IF; 377 383 … … 396 402 397 403 IF NOT endete IS NULL THEN 398 RAISE NOTICE '%: Objekt e bereits % ungegegangen - ignoriert', NEW.featureid, endete;404 RAISE NOTICE '%: Objekt bereits % untergegangen - ignoriert', NEW.featureid, endete; 399 405 ELSE 400 406 RAISE NOTICE '%: Objekt nicht gefunden - ignoriert', NEW.featureid; -
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.