Changeset 314 for trunk


Ignore:
Timestamp:
02/03/14 18:41:17 (10 years ago)
Author:
frank.jaeger
Message:

Trigger ohne Historie (kill) umgestellt auf Import-ID als Merkmal fuer Replace

Location:
trunk/import
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/alkis-functions.sql

    r299 r314  
    55 
    66-- 2013-12-10:  In der Function "update_fields_beziehungen" den Fall behandeln, dass ein Objekt einer  
    7 --                              neuen Beziehung in keiner Tabelle gefunden wird. 
    8 --                              Wenn ein einzelnes Objekt fehlt, soll dies keine Auswirkungen auf andere Objekte haben. 
    9 --              FÃŒllen von "zu_typename" auskommentiert. 
     7--             neuen Beziehung in keiner Tabelle gefunden wird. 
     8--             Wenn ein einzelnes Objekt fehlt, soll dies keine Auswirkungen auf andere Objekte haben. 
     9--             FÃŒllen von "zu_typename" auskommentiert. 
     10 
     11-- 2014-01-31: Deaktivieren von "update_fields_beziehungen",  
     12--             statt dessen verwenden der "import_id" um alte Relationen zu identifizieren und zu löschen. 
     13 
    1014 
    1115-- Table/View/Sequence löschen, wenn vorhanden 
     
    373377 
    374378 
    375 -- Löschsatz verarbeiten (OHNE Historie) 
    376 -- historische Objekte werden sofort gelöscht. 
    377 -- Siehe Mail W. Jacobs vom 23.03.2012 in PostNAS-Mailingliste 
    378 -- geaendert krz FJ 2012-10-31 
    379 -- geÀndertt krz FJ 2013-07-10 auf Vorschlag MB Krs. Unna 
     379-- "delete" und "replace" verarbeiten (OHNE Historie). Historische Objekte werden sofort gelöscht. 
     380-- Geaendert 2014-02-03 auf Vorschlag M.B. Krs. Unna 
    380381CREATE OR REPLACE FUNCTION delete_feature_kill() RETURNS TRIGGER AS $$ 
    381382DECLARE 
     
    384385        aktbeg TEXT; 
    385386        gml_id TEXT; 
    386         query_bez TEXT; -- 2013-07-10 Erweiterung 
     387        query_bez TEXT; 
    387388BEGIN 
    388389        NEW.typename := lower(NEW.typename); 
     
    394395        END IF; 
    395396 
    396         IF NEW.context='delete' THEN 
    397                 -- ersatzloses Loeschen eines Objektes 
    398  
    399                 query := 'DELETE FROM ' || NEW.typename 
    400                         || ' WHERE gml_id = ''' || gml_id || ''''; 
    401                 EXECUTE query; 
    402  
    403                 query := 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id 
    404                         || ''' OR beziehung_zu = ''' || gml_id || ''''; 
    405                 EXECUTE query; 
    406                 RAISE NOTICE 'Lösche gml_id % in % und Beziehungen', gml_id, NEW.typename; 
    407  
    408         ELSE 
    409                 -- Ersetzen eines Objektes (Replace) 
    410                 -- In der objekt-Tabelle sind bereits 2 Objekte vorhanden (alt und neu). 
    411                 -- Die 2 DatensÀtze unterscheiden sich nur in ogc_fid und beginnt 
    412  
     397        IF NEW.context='delete' THEN -- Ersatzloses Loeschen des Objektes 
     398          -- In der Objekt-Tabelle 
     399                EXECUTE 'DELETE FROM ' || NEW.typename || ' WHERE gml_id = ''' || gml_id || ''''; 
     400          -- Beziehungen von und zu dem Objekt sind hinfaellig 
     401                EXECUTE 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id || ''' OR beziehung_zu = ''' || gml_id || ''''; 
     402                --RAISE NOTICE 'Lösche gml_id % in % und Beziehungen', gml_id, NEW.typename; 
     403 
     404        ELSE -- Ersetzen eines Objektes (Replace). In der Objekt-Tabelle sind jetzt bereits 2 Objekte vorhanden (alt und neu). 
    413405                -- beginnt-Wert des aktuellen Objektes ermitteln 
    414                 -- RAISE NOTICE 'Suche beginnt von neuem gml_id % ', substr(NEW.replacedBy, 1, 16); 
    415406                begsql := 'SELECT max(beginnt) FROM ' || NEW.typename || ' WHERE gml_id = ''' || substr(NEW.replacedBy, 1, 16) || ''' AND endet IS NULL'; 
    416407                EXECUTE begsql INTO aktbeg; 
    417  
    418                 -- Nur alte Objekte entfernen 
    419                 query := 'DELETE FROM ' || NEW.typename 
    420                         || ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || ''''; 
    421                 EXECUTE query; 
    422  
    423                 -- Tabelle "alkis_beziehungen" 
    424         -- Löschen der Beziehungen des in einer anderen Tabelle ersetzten Objektes. 
    425                 IF gml_id = substr(NEW.replacedBy, 1, 16) THEN -- gml_id gleich 
    426                         -- Beziehungen des Objektes wurden redundant noch einmal eingetragen 
    427                         -- ToDo:         HIER sofort die Redundanzen zum aktuellen Objekt beseitigen. 
    428                         -- Workaround: Nach der Konvertierung werden im Post-Processing 
    429                         --             ALLE Redundanzen mit einem SQL-Statement beseitigt. 
    430                 --      RAISE NOTICE 'Ersetze gleiche gml_id % in %', gml_id, NEW.typename; 
    431  
    432                 -- ENTWURF FJ, noch ungetestet: 
    433         -- Bei Replace wird zur aktuellen gml_id nach redundanten SÀtzen in alkis_beziehungen gesucht. 
    434         -- Die Version mit dem kleineren serial-Feld wird gelöscht. 
    435                 --query := 'DELETE FROM alkis_beziehungen AS bezalt 
    436                 --      WHERE (bezalt.beziehung_von = ' || gml_id || ' OR bezalt.beziehung_zu = ' || gml_id ||') 
    437                 --      AND EXISTS (SELECT ogc_fid FROM alkis_beziehungen AS bezneu 
    438                 --              WHERE bezalt.beziehung_von = bezneu.beziehung_von 
    439                 --              AND bezalt.beziehung_zu = bezneu.beziehung_zu 
    440                 --              AND bezalt.beziehungsart = bezneu.beziehungsart 
    441                 --              AND bezalt.ogc_fid < bezneu.ogc_fid);' 
    442                 --EXECUTE query; 
    443  
    444                 -- Funktioniert wahrscheinlich nicht wegen: 
    445                 --   Der zu löschende Satz in "alkis_beziehungen" muss nicht komplett redandant sein (von+zu+art).  
    446         -- Es ist entweder ein Replace des von-objektes passiert oder ein Replace des zu-Objektes. 
    447                 -- In beiden FÀllen kann auf der entgegen gesetzten Seite der Beziehung auch ein anderes Objekt sein. 
    448                 -- Dummerweise sind die neuen Beziehungen mit der gleichen gml_id schon eingetragen worden. 
    449  
    450         -- 2013-07-10 Alternative Version von Marvon Brandt (Krs. Unna)  
    451         -- Diese Version setzt voraus, dass das Feld 'beginnt' beim EinfÃŒgen der Beziehung aus  
    452         -- dem Satz des von-Objektes kopiert wurde. 
    453         -- Dies geschieht in "update_fields_beziehungen" als Trigger beim EinfÃŒgen der alkis_beziehung. 
    454            -- alte Beziehungen löschen 
    455            query_bez := 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id   
    456                         || ''' AND beginnt < ''' || aktbeg || ''''; 
    457            RAISE NOTICE 'Lösche in beziehungen alte gml_id % vor %', gml_id, aktbeg; 
    458            EXECUTE query_bez; 
    459  
    460           -- Was ist, wenn das in der delete-Tabelle ersetzte Objekt nur/auch auf der zu-Seite der Beziehung auftaucht. 
    461           -- Hier wird es nur auf der von-Seite gesucht. 
    462   
    463         -- 2013-07-10 Erweiterung Ende 
    464  
    465                 ELSE 
    466                         -- replace mit ungleicher gml_id 
    467                         -- Falls dies vorkommt, die Function erweitern 
    468                         RAISE EXCEPTION '%: neue gml_id % bei Replace in %. alkis_beziehungen muss aktualisiert werden!', gml_id, NEW.replacedBy, NEW.typename; 
    469                 END IF; 
     408                -- Alte Objekte entfernen 
     409                EXECUTE 'DELETE FROM ' || NEW.typename || ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || ''''; 
     410                -- Beziehungen vom alten Objekt entfernen, die aus frueheren Importen stammen 
     411                EXECUTE 'DELETE FROM alkis_beziehungen WHERE beziehung_von = ''' || gml_id || ''' AND import_id < (SELECT max(id) FROM import)'; 
    470412        END IF; 
    471413 
     
    475417$$ LANGUAGE plpgsql; 
    476418 
     419 
    477420-- BeziehungssÀtze aufrÀumen 
    478421CREATE OR REPLACE FUNCTION alkis_beziehung_inserted() RETURNS TRIGGER AS $$ 
     
    482425END; 
    483426$$ LANGUAGE plpgsql; 
     427 
    484428 
    485429-- Wenn die Datenbank MIT Historie angelegt wurde, kann nach dem Laden hiermit aufgerÀumt werden. 
     
    502446 
    503447 
    504 -- 2013-07-10: Erweiterung zur Verarbeitung der Replace-SÀtze in ALKIS-Beziehungen  
    505  
    506 -- ZusÀtzliche Felder fÃŒr alkis_beziehungen auswerten. 
    507 -- In die Tabelle alkis_beziehungen wird zusÀtzlich zu den gml_ids der Objekte auf von- und zu-Seite  
    508 -- auch noch eingetragen, aus welcher Tabelle die gml_id stammt. Dies sollte langfristig direkt  
    509 -- vom PostNAS (ogr2ogr) gemacht werden so dass dieser Trigger als Provisorium anzusehen ist. 
    510  
    511 -- Eventuell kann auch die Sammlung der bekannten Tabellen-Namen als Kette von UNION-Zeilen ersetzt werden 
    512 -- durch eine smarte Function, die eine gefilterte Liste der vorhandenen Tabellen (-namen) durchsucht. 
    513 -- Somit wÃŒrden auch solche Tabellen einbezogen, die von PostNAS nachtrÀglich angelegt wurden. 
    514  
    515 -- Das Beginnt-Datum des Datensatzes auf der Seite "beziehung_von" wird zu der Beziehung kopiert (redundant). 
    516 CREATE OR REPLACE FUNCTION update_fields_beziehungen() RETURNS TRIGGER AS $$ 
    517 DECLARE 
    518         sql_vonTypename TEXT; 
    519         sql_zuTypename TEXT; 
    520         sql_beginnt TEXT; 
    521 BEGIN 
    522     -- Die folgende Liste von Tabellen-Namen kann reduziert werden, auf solche Tabellen, die auf 
    523     -- von-Seite von Beziehungen auftauchen können. 
    524     sql_vonTypename :=  
    525        'SELECT ''ap_darstellung'' FROM ap_darstellung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    526                 SELECT ''ap_lpo'' FROM ap_lpo WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    527                 SELECT ''ap_lto'' FROM ap_lto WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    528                 SELECT ''ap_ppo'' FROM ap_ppo WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    529                 SELECT ''ap_pto'' FROM ap_pto WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    530                 SELECT ''ax_anderefestlegungnachwasserrecht'' FROM ax_anderefestlegungnachwasserrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    531                 SELECT ''ax_anschrift'' FROM ax_anschrift WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    532                 SELECT ''ax_aufnahmepunkt'' FROM ax_aufnahmepunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    533                 SELECT ''ax_bahnverkehr'' FROM ax_bahnverkehr WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    534                 SELECT ''ax_bahnverkehrsanlage'' FROM ax_bahnverkehrsanlage WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    535                 SELECT ''ax_baublock'' FROM ax_baublock WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    536                 SELECT ''ax_bauraumoderbodenordnungsrecht'' FROM ax_bauraumoderbodenordnungsrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    537                 SELECT ''ax_bauteil'' FROM ax_bauteil WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    538                 SELECT ''ax_bauwerkimgewaesserbereich'' FROM ax_bauwerkimgewaesserbereich WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    539                 SELECT ''ax_bauwerkimverkehrsbereich'' FROM ax_bauwerkimverkehrsbereich WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    540                 SELECT ''ax_bauwerkoderanlagefuerindustrieundgewerbe'' FROM ax_bauwerkoderanlagefuerindustrieundgewerbe WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    541                 SELECT ''ax_bauwerkoderanlagefuersportfreizeitunderholung'' FROM ax_bauwerkoderanlagefuersportfreizeitunderholung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    542                 SELECT ''ax_bergbaubetrieb'' FROM ax_bergbaubetrieb WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    543                 SELECT ''ax_besondereflurstuecksgrenze'' FROM ax_besondereflurstuecksgrenze WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    544                 SELECT ''ax_besonderegebaeudelinie'' FROM ax_besonderegebaeudelinie WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    545                 SELECT ''ax_besondererbauwerkspunkt'' FROM ax_besondererbauwerkspunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    546                 SELECT ''ax_besonderergebaeudepunkt'' FROM ax_besonderergebaeudepunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    547                 SELECT ''ax_besondererhoehenpunkt'' FROM ax_besondererhoehenpunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    548                 SELECT ''ax_besonderertopographischerpunkt'' FROM ax_besonderertopographischerpunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    549                 SELECT ''ax_bewertung'' FROM ax_bewertung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    550                 SELECT ''ax_bodenschaetzung'' FROM ax_bodenschaetzung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    551                 SELECT ''ax_boeschungkliff'' FROM ax_boeschungkliff WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    552                 SELECT ''ax_boeschungsflaeche'' FROM ax_boeschungsflaeche WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    553                 SELECT ''ax_buchungsblatt'' FROM ax_buchungsblatt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    554                 SELECT ''ax_buchungsblattbezirk'' FROM ax_buchungsblattbezirk WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    555                 SELECT ''ax_buchungsstelle'' FROM ax_buchungsstelle WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    556                 SELECT ''ax_bundesland'' FROM ax_bundesland WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    557                 SELECT ''ax_dammwalldeich'' FROM ax_dammwalldeich WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    558                 SELECT ''ax_denkmalschutzrecht'' FROM ax_denkmalschutzrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    559                 SELECT ''ax_dienststelle'' FROM ax_dienststelle WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    560                 SELECT ''ax_duene'' FROM ax_duene WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    561                 SELECT ''ax_einrichtungenfuerdenschiffsverkehr'' FROM ax_einrichtungenfuerdenschiffsverkehr WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    562                 SELECT ''ax_einrichtunginoeffentlichenbereichen'' FROM ax_einrichtunginoeffentlichenbereichen WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    563                 SELECT ''ax_felsenfelsblockfelsnadel'' FROM ax_felsenfelsblockfelsnadel WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    564                 SELECT ''ax_firstlinie'' FROM ax_firstlinie WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    565                 SELECT ''ax_flaechebesondererfunktionalerpraegung'' FROM ax_flaechebesondererfunktionalerpraegung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    566                 SELECT ''ax_flaechegemischternutzung'' FROM ax_flaechegemischternutzung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    567                 SELECT ''ax_fliessgewaesser'' FROM ax_fliessgewaesser WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    568                 SELECT ''ax_flugverkehr'' FROM ax_flugverkehr WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    569                 SELECT ''ax_flugverkehrsanlage'' FROM ax_flugverkehrsanlage WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    570                 SELECT ''ax_flurstueck'' FROM ax_flurstueck WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    571                 SELECT ''ax_forstrecht'' FROM ax_forstrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    572                 SELECT ''ax_fortfuehrungsfall'' FROM ax_fortfuehrungsfall WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    573                 SELECT ''ax_fortfuehrungsnachweisdeckblatt'' FROM ax_fortfuehrungsnachweisdeckblatt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    574                 SELECT ''ax_friedhof'' FROM ax_friedhof WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    575                 SELECT ''ax_gebaeude'' FROM ax_gebaeude WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    576                 SELECT ''ax_gebaeudeausgestaltung'' FROM ax_gebaeudeausgestaltung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    577                 SELECT ''ax_gehoelz'' FROM ax_gehoelz WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    578                 SELECT ''ax_gelaendekante'' FROM ax_gelaendekante WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    579                 SELECT ''ax_gemarkung'' FROM ax_gemarkung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    580                 SELECT ''ax_gemarkungsteilflur'' FROM ax_gemarkungsteilflur WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    581                 SELECT ''ax_gemeinde'' FROM ax_gemeinde WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    582                 SELECT ''ax_gemeindeteil'' FROM ax_gemeindeteil WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    583                 SELECT ''ax_georeferenziertegebaeudeadresse'' FROM ax_georeferenziertegebaeudeadresse WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    584                 SELECT ''ax_gewaessermerkmal'' FROM ax_gewaessermerkmal WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    585                 SELECT ''ax_gleis'' FROM ax_gleis WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    586                 SELECT ''ax_grablochderbodenschaetzung'' FROM ax_grablochderbodenschaetzung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    587                 SELECT ''ax_grenzpunkt'' FROM ax_grenzpunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    588                 SELECT ''ax_hafenbecken'' FROM ax_hafenbecken WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    589                 SELECT ''ax_halde'' FROM ax_halde WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    590                 SELECT ''ax_heide'' FROM ax_heide WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    591                 SELECT ''ax_heilquellegasquelle'' FROM ax_heilquellegasquelle WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    592                 SELECT ''ax_historischesbauwerkoderhistorischeeinrichtung'' FROM ax_historischesbauwerkoderhistorischeeinrichtung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    593                 SELECT ''ax_historischesflurstueck'' FROM ax_historischesflurstueck WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    594                 SELECT ''ax_historischesflurstueckalb'' FROM ax_historischesflurstueckalb WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    595                 SELECT ''ax_historischesflurstueckohneraumbezug'' FROM ax_historischesflurstueckohneraumbezug WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    596                 SELECT ''ax_hoehenlinie'' FROM ax_hoehenlinie WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    597                 SELECT ''ax_hoehleneingang'' FROM ax_hoehleneingang WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    598                 SELECT ''ax_industrieundgewerbeflaeche'' FROM ax_industrieundgewerbeflaeche WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    599                 SELECT ''ax_klassifizierungnachstrassenrecht'' FROM ax_klassifizierungnachstrassenrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    600                 SELECT ''ax_klassifizierungnachwasserrecht'' FROM ax_klassifizierungnachwasserrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    601                 SELECT ''ax_kleinraeumigerlandschaftsteil'' FROM ax_kleinraeumigerlandschaftsteil WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    602                 SELECT ''ax_kommunalesgebiet'' FROM ax_kommunalesgebiet WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    603                 SELECT ''ax_kreisregion'' FROM ax_kreisregion WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    604                 SELECT ''ax_lagebezeichnungkatalogeintrag'' FROM ax_lagebezeichnungkatalogeintrag WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    605                 SELECT ''ax_lagebezeichnungmithausnummer'' FROM ax_lagebezeichnungmithausnummer WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    606                 SELECT ''ax_lagebezeichnungmitpseudonummer'' FROM ax_lagebezeichnungmitpseudonummer WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    607                 SELECT ''ax_lagebezeichnungohnehausnummer'' FROM ax_lagebezeichnungohnehausnummer WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    608                 SELECT ''ax_landwirtschaft'' FROM ax_landwirtschaft WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    609                 SELECT ''ax_leitung'' FROM ax_leitung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    610                 SELECT ''ax_meer'' FROM ax_meer WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    611                 SELECT ''ax_moor'' FROM ax_moor WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    612                 SELECT ''ax_musterlandesmusterundvergleichsstueck'' FROM ax_musterlandesmusterundvergleichsstueck WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    613                 SELECT ''ax_namensnummer'' FROM ax_namensnummer WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    614                 SELECT ''ax_naturumweltoderbodenschutzrecht'' FROM ax_naturumweltoderbodenschutzrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    615                 SELECT ''ax_person'' FROM ax_person WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    616                 SELECT ''ax_platz'' FROM ax_platz WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    617                 SELECT ''ax_punktkennunguntergegangen'' FROM ax_punktkennunguntergegangen WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    618                 SELECT ''ax_punktortag'' FROM ax_punktortag WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    619                 SELECT ''ax_punktortau'' FROM ax_punktortau WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    620                 SELECT ''ax_punktortta'' FROM ax_punktortta WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    621                 SELECT ''ax_regierungsbezirk'' FROM ax_regierungsbezirk WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    622                 SELECT ''ax_reservierung'' FROM ax_reservierung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    623                 SELECT ''ax_schifffahrtsliniefaehrverkehr'' FROM ax_schifffahrtsliniefaehrverkehr WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    624                 SELECT ''ax_schiffsverkehr'' FROM ax_schiffsverkehr WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    625                 SELECT ''ax_schutzgebietnachnaturumweltoderbodenschutzrecht'' FROM ax_schutzgebietnachnaturumweltoderbodenschutzrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    626                 SELECT ''ax_schutzgebietnachwasserrecht'' FROM ax_schutzgebietnachwasserrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    627                 SELECT ''ax_schutzzone'' FROM ax_schutzzone WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    628                 SELECT ''ax_seilbahnschwebebahn'' FROM ax_seilbahnschwebebahn WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    629                 SELECT ''ax_sicherungspunkt'' FROM ax_sicherungspunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    630                 SELECT ''ax_soll'' FROM ax_soll WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    631                 SELECT ''ax_sonstigervermessungspunkt'' FROM ax_sonstigervermessungspunkt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    632                 SELECT ''ax_sonstigesbauwerkodersonstigeeinrichtung'' FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    633                 SELECT ''ax_sonstigesrecht'' FROM ax_sonstigesrecht WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    634                 SELECT ''ax_sportfreizeitunderholungsflaeche'' FROM ax_sportfreizeitunderholungsflaeche WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    635                 SELECT ''ax_stehendesgewaesser'' FROM ax_stehendesgewaesser WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    636                 SELECT ''ax_strassenverkehr'' FROM ax_strassenverkehr WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    637                 SELECT ''ax_strassenverkehrsanlage'' FROM ax_strassenverkehrsanlage WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    638                 SELECT ''ax_sumpf'' FROM ax_sumpf WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    639                 SELECT ''ax_tagebaugrubesteinbruch'' FROM ax_tagebaugrubesteinbruch WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    640                 SELECT ''ax_tagesabschnitt'' FROM ax_tagesabschnitt WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    641                 SELECT ''ax_topographischelinie'' FROM ax_topographischelinie WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    642                 SELECT ''ax_transportanlage'' FROM ax_transportanlage WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    643                 SELECT ''ax_turm'' FROM ax_turm WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    644                 SELECT ''ax_unlandvegetationsloseflaeche'' FROM ax_unlandvegetationsloseflaeche WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    645                 SELECT ''ax_untergeordnetesgewaesser'' FROM ax_untergeordnetesgewaesser WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    646                 SELECT ''ax_vegetationsmerkmal'' FROM ax_vegetationsmerkmal WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    647                 SELECT ''ax_vertretung'' FROM ax_vertretung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    648                 SELECT ''ax_verwaltung'' FROM ax_verwaltung WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    649                 SELECT ''ax_verwaltungsgemeinschaft'' FROM ax_verwaltungsgemeinschaft WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    650                 SELECT ''ax_vorratsbehaelterspeicherbauwerk'' FROM ax_vorratsbehaelterspeicherbauwerk WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    651                 SELECT ''ax_wald'' FROM ax_wald WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    652                 SELECT ''ax_wasserspiegelhoehe'' FROM ax_wasserspiegelhoehe WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    653                 SELECT ''ax_weg'' FROM ax_weg WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    654                 SELECT ''ax_wegpfadsteig'' FROM ax_wegpfadsteig WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    655                 SELECT ''ax_wohnbauflaeche'' FROM ax_wohnbauflaeche WHERE gml_id = ''' || NEW.beziehung_von || ''' UNION 
    656                 SELECT ''ax_wohnplatz'' FROM ax_wohnplatz WHERE gml_id = ''' || NEW.beziehung_von || ''''; 
    657         EXECUTE sql_vonTypename INTO NEW.von_typename; 
    658  
    659         -- 2013-12-10: Den Fall behandeln, dass das Objekt in keiner Tabelle gefunden wird. 
    660         -- NULL-Wert fÃŒhrt zu Abbruch des 2. Execute. Dies fÃŒhrt in einer Kettenreaktion dazu, 
    661         -- dass auch weitere Objekte nicht eingefÃŒgt werden können. 
    662         IF NEW.von_typename IS NULL THEN 
    663                 RAISE NOTICE 'Neue gml_id fuer "beziehung_von" in "alkis_beziehungen" ist keiner Tabelle zuzuordnen. "beziehung_von" und "beginnt" bleiben leer. gml_id: %', NEW.beziehung_von; 
    664         ELSE 
    665                 -- Der von_typename (= Tabellen-Name) muss zuvor ermittelt worden sein. Dort wird nach der gml_id gesucht.  
    666                 sql_beginnt := 'SELECT max(beginnt) FROM ' || NEW.von_typename || ' WHERE gml_id = ''' || NEW.beziehung_von ||''''; 
    667                 EXECUTE sql_beginnt INTO NEW.beginnt; 
    668                 -- Was passiert bei Replace eines Objektes, das nur auf der zu-Seite einer Beziehung auftaucht. 
    669         END IF; 
    670  
    671     -- Die folgende Liste von Tabellen-Namen kann reduziert werden, auf solche Tabellen, die auf 
    672     -- zu-Seite von Beziehungen auftauchen können. 
    673         -- Diese Spalte erleichtert die Analyse, wird aber nicht fÃŒr die aktuelle Version des Triggers nicht verwendet. 
    674     -- Diese Anweisung liefert nur teilweise ein Ergebnis. 
    675  
    676 -- -- 2013-12-10 Wird nicht benötigt und ist auch nur teilweise erfolgreich.  
    677 -- --            Dann den Aufwand sparen. Auskommentiert. 
    678 --      sql_zuTypename :=  
    679 --       'SELECT ''ap_darstellung'' FROM ap_darstellung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    680 --              SELECT ''ap_lpo'' FROM ap_lpo WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    681 --              SELECT ''ap_lto'' FROM ap_lto WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    682 --              SELECT ''ap_ppo'' FROM ap_ppo WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    683 --              SELECT ''ap_pto'' FROM ap_pto WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    684 --              SELECT ''ax_anderefestlegungnachwasserrecht'' FROM ax_anderefestlegungnachwasserrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    685 --              SELECT ''ax_anschrift'' FROM ax_anschrift WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    686 --              SELECT ''ax_aufnahmepunkt'' FROM ax_aufnahmepunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    687 --              SELECT ''ax_bahnverkehr'' FROM ax_bahnverkehr WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    688 --              SELECT ''ax_bahnverkehrsanlage'' FROM ax_bahnverkehrsanlage WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    689 --              SELECT ''ax_baublock'' FROM ax_baublock WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    690 --              SELECT ''ax_bauraumoderbodenordnungsrecht'' FROM ax_bauraumoderbodenordnungsrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    691 --              SELECT ''ax_bauteil'' FROM ax_bauteil WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    692 --              SELECT ''ax_bauwerkimgewaesserbereich'' FROM ax_bauwerkimgewaesserbereich WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    693 --              SELECT ''ax_bauwerkimverkehrsbereich'' FROM ax_bauwerkimverkehrsbereich WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    694 --              SELECT ''ax_bauwerkoderanlagefuerindustrieundgewerbe'' FROM ax_bauwerkoderanlagefuerindustrieundgewerbe WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    695 --              SELECT ''ax_bauwerkoderanlagefuersportfreizeitunderholung'' FROM ax_bauwerkoderanlagefuersportfreizeitunderholung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    696 --              SELECT ''ax_bergbaubetrieb'' FROM ax_bergbaubetrieb WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    697 --              SELECT ''ax_besondereflurstuecksgrenze'' FROM ax_besondereflurstuecksgrenze WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    698 --              SELECT ''ax_besonderegebaeudelinie'' FROM ax_besonderegebaeudelinie WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    699 --              SELECT ''ax_besondererbauwerkspunkt'' FROM ax_besondererbauwerkspunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    700 --              SELECT ''ax_besonderergebaeudepunkt'' FROM ax_besonderergebaeudepunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    701 --              SELECT ''ax_besondererhoehenpunkt'' FROM ax_besondererhoehenpunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    702 --              SELECT ''ax_besonderertopographischerpunkt'' FROM ax_besonderertopographischerpunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    703 --              SELECT ''ax_bewertung'' FROM ax_bewertung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    704 --              SELECT ''ax_bodenschaetzung'' FROM ax_bodenschaetzung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    705 --              SELECT ''ax_boeschungkliff'' FROM ax_boeschungkliff WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    706 --              SELECT ''ax_boeschungsflaeche'' FROM ax_boeschungsflaeche WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    707 --              SELECT ''ax_buchungsblatt'' FROM ax_buchungsblatt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    708 --              SELECT ''ax_buchungsblattbezirk'' FROM ax_buchungsblattbezirk WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    709 --              SELECT ''ax_buchungsstelle'' FROM ax_buchungsstelle WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    710 --              SELECT ''ax_bundesland'' FROM ax_bundesland WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    711 --              SELECT ''ax_dammwalldeich'' FROM ax_dammwalldeich WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    712 --              SELECT ''ax_denkmalschutzrecht'' FROM ax_denkmalschutzrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    713 --              SELECT ''ax_dienststelle'' FROM ax_dienststelle WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    714 --              SELECT ''ax_duene'' FROM ax_duene WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    715 --              SELECT ''ax_einrichtungenfuerdenschiffsverkehr'' FROM ax_einrichtungenfuerdenschiffsverkehr WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    716 --              SELECT ''ax_einrichtunginoeffentlichenbereichen'' FROM ax_einrichtunginoeffentlichenbereichen WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    717 --              SELECT ''ax_felsenfelsblockfelsnadel'' FROM ax_felsenfelsblockfelsnadel WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    718 --              SELECT ''ax_firstlinie'' FROM ax_firstlinie WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    719 --              SELECT ''ax_flaechebesondererfunktionalerpraegung'' FROM ax_flaechebesondererfunktionalerpraegung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    720 --              SELECT ''ax_flaechegemischternutzung'' FROM ax_flaechegemischternutzung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    721 --              SELECT ''ax_fliessgewaesser'' FROM ax_fliessgewaesser WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    722 --              SELECT ''ax_flugverkehr'' FROM ax_flugverkehr WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    723 --              SELECT ''ax_flugverkehrsanlage'' FROM ax_flugverkehrsanlage WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    724 --              SELECT ''ax_flurstueck'' FROM ax_flurstueck WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    725 --              SELECT ''ax_forstrecht'' FROM ax_forstrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    726 --              SELECT ''ax_fortfuehrungsfall'' FROM ax_fortfuehrungsfall WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    727 --              SELECT ''ax_fortfuehrungsnachweisdeckblatt'' FROM ax_fortfuehrungsnachweisdeckblatt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    728 --              SELECT ''ax_friedhof'' FROM ax_friedhof WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    729 --              SELECT ''ax_gebaeude'' FROM ax_gebaeude WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    730 --              SELECT ''ax_gebaeudeausgestaltung'' FROM ax_gebaeudeausgestaltung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    731 --              SELECT ''ax_gehoelz'' FROM ax_gehoelz WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    732 --              SELECT ''ax_gelaendekante'' FROM ax_gelaendekante WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    733 --              SELECT ''ax_gemarkung'' FROM ax_gemarkung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    734 --              SELECT ''ax_gemarkungsteilflur'' FROM ax_gemarkungsteilflur WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    735 --              SELECT ''ax_gemeinde'' FROM ax_gemeinde WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    736 --              SELECT ''ax_gemeindeteil'' FROM ax_gemeindeteil WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    737 --              SELECT ''ax_georeferenziertegebaeudeadresse'' FROM ax_georeferenziertegebaeudeadresse WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    738 --              SELECT ''ax_gewaessermerkmal'' FROM ax_gewaessermerkmal WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    739 --              SELECT ''ax_gleis'' FROM ax_gleis WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    740 --              SELECT ''ax_grablochderbodenschaetzung'' FROM ax_grablochderbodenschaetzung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    741 --              SELECT ''ax_grenzpunkt'' FROM ax_grenzpunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    742 --              SELECT ''ax_hafenbecken'' FROM ax_hafenbecken WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    743 --              SELECT ''ax_halde'' FROM ax_halde WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    744 --              SELECT ''ax_heide'' FROM ax_heide WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    745 --              SELECT ''ax_heilquellegasquelle'' FROM ax_heilquellegasquelle WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    746 --              SELECT ''ax_historischesbauwerkoderhistorischeeinrichtung'' FROM ax_historischesbauwerkoderhistorischeeinrichtung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    747 --              SELECT ''ax_historischesflurstueck'' FROM ax_historischesflurstueck WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    748 --              SELECT ''ax_historischesflurstueckalb'' FROM ax_historischesflurstueckalb WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    749 --              SELECT ''ax_historischesflurstueckohneraumbezug'' FROM ax_historischesflurstueckohneraumbezug WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    750 --              SELECT ''ax_hoehenlinie'' FROM ax_hoehenlinie WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    751 --              SELECT ''ax_hoehleneingang'' FROM ax_hoehleneingang WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    752 --              SELECT ''ax_industrieundgewerbeflaeche'' FROM ax_industrieundgewerbeflaeche WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    753 --              SELECT ''ax_klassifizierungnachstrassenrecht'' FROM ax_klassifizierungnachstrassenrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    754 --              SELECT ''ax_klassifizierungnachwasserrecht'' FROM ax_klassifizierungnachwasserrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    755 --              SELECT ''ax_kleinraeumigerlandschaftsteil'' FROM ax_kleinraeumigerlandschaftsteil WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    756 --              SELECT ''ax_kommunalesgebiet'' FROM ax_kommunalesgebiet WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    757 --              SELECT ''ax_kreisregion'' FROM ax_kreisregion WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    758 --              SELECT ''ax_lagebezeichnungkatalogeintrag'' FROM ax_lagebezeichnungkatalogeintrag WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    759 --              SELECT ''ax_lagebezeichnungmithausnummer'' FROM ax_lagebezeichnungmithausnummer WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    760 --              SELECT ''ax_lagebezeichnungmitpseudonummer'' FROM ax_lagebezeichnungmitpseudonummer WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    761 --              SELECT ''ax_lagebezeichnungohnehausnummer'' FROM ax_lagebezeichnungohnehausnummer WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    762 --              SELECT ''ax_landwirtschaft'' FROM ax_landwirtschaft WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    763 --              SELECT ''ax_leitung'' FROM ax_leitung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    764 --              SELECT ''ax_meer'' FROM ax_meer WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    765 --              SELECT ''ax_moor'' FROM ax_moor WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    766 --              SELECT ''ax_musterlandesmusterundvergleichsstueck'' FROM ax_musterlandesmusterundvergleichsstueck WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    767 --              SELECT ''ax_namensnummer'' FROM ax_namensnummer WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    768 --              SELECT ''ax_naturumweltoderbodenschutzrecht'' FROM ax_naturumweltoderbodenschutzrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    769 --              SELECT ''ax_person'' FROM ax_person WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    770 --              SELECT ''ax_platz'' FROM ax_platz WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    771 --              SELECT ''ax_punktkennunguntergegangen'' FROM ax_punktkennunguntergegangen WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    772 --              SELECT ''ax_punktortag'' FROM ax_punktortag WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    773 --              SELECT ''ax_punktortau'' FROM ax_punktortau WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    774 --              SELECT ''ax_punktortta'' FROM ax_punktortta WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    775 --              SELECT ''ax_regierungsbezirk'' FROM ax_regierungsbezirk WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    776 --              SELECT ''ax_reservierung'' FROM ax_reservierung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    777 --              SELECT ''ax_schifffahrtsliniefaehrverkehr'' FROM ax_schifffahrtsliniefaehrverkehr WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    778 --              SELECT ''ax_schiffsverkehr'' FROM ax_schiffsverkehr WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    779 --              SELECT ''ax_schutzgebietnachnaturumweltoderbodenschutzrecht'' FROM ax_schutzgebietnachnaturumweltoderbodenschutzrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    780 --              SELECT ''ax_schutzgebietnachwasserrecht'' FROM ax_schutzgebietnachwasserrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    781 --              SELECT ''ax_schutzzone'' FROM ax_schutzzone WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    782 --              SELECT ''ax_seilbahnschwebebahn'' FROM ax_seilbahnschwebebahn WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    783 --              SELECT ''ax_sicherungspunkt'' FROM ax_sicherungspunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    784 --              SELECT ''ax_soll'' FROM ax_soll WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    785 --              SELECT ''ax_sonstigervermessungspunkt'' FROM ax_sonstigervermessungspunkt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    786 --              SELECT ''ax_sonstigesbauwerkodersonstigeeinrichtung'' FROM ax_sonstigesbauwerkodersonstigeeinrichtung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    787 --              SELECT ''ax_sonstigesrecht'' FROM ax_sonstigesrecht WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    788 --              SELECT ''ax_sportfreizeitunderholungsflaeche'' FROM ax_sportfreizeitunderholungsflaeche WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    789 --              SELECT ''ax_stehendesgewaesser'' FROM ax_stehendesgewaesser WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    790 --              SELECT ''ax_strassenverkehr'' FROM ax_strassenverkehr WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    791 --              SELECT ''ax_strassenverkehrsanlage'' FROM ax_strassenverkehrsanlage WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    792 --              SELECT ''ax_sumpf'' FROM ax_sumpf WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    793 --              SELECT ''ax_tagebaugrubesteinbruch'' FROM ax_tagebaugrubesteinbruch WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    794 --              SELECT ''ax_tagesabschnitt'' FROM ax_tagesabschnitt WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    795 --              SELECT ''ax_topographischelinie'' FROM ax_topographischelinie WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    796 --              SELECT ''ax_transportanlage'' FROM ax_transportanlage WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    797 --              SELECT ''ax_turm'' FROM ax_turm WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    798 --              SELECT ''ax_unlandvegetationsloseflaeche'' FROM ax_unlandvegetationsloseflaeche WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    799 --              SELECT ''ax_untergeordnetesgewaesser'' FROM ax_untergeordnetesgewaesser WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    800 --              SELECT ''ax_vegetationsmerkmal'' FROM ax_vegetationsmerkmal WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    801 --              SELECT ''ax_vertretung'' FROM ax_vertretung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    802 --              SELECT ''ax_verwaltung'' FROM ax_verwaltung WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    803 --              SELECT ''ax_verwaltungsgemeinschaft'' FROM ax_verwaltungsgemeinschaft WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    804 --              SELECT ''ax_vorratsbehaelterspeicherbauwerk'' FROM ax_vorratsbehaelterspeicherbauwerk WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    805 --              SELECT ''ax_wald'' FROM ax_wald WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    806 --              SELECT ''ax_wasserspiegelhoehe'' FROM ax_wasserspiegelhoehe WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    807 --              SELECT ''ax_weg'' FROM ax_weg WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    808 --              SELECT ''ax_wegpfadsteig'' FROM ax_wegpfadsteig WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    809 --              SELECT ''ax_wohnbauflaeche'' FROM ax_wohnbauflaeche WHERE gml_id = ''' || NEW.beziehung_zu || ''' UNION 
    810 --              SELECT ''ax_wohnplatz'' FROM ax_wohnplatz WHERE gml_id = ''' || NEW.beziehung_zu || ''''; 
    811 --      EXECUTE sql_zuTypename INTO NEW.zu_typename; 
    812 -- -- 2013-12-10 Ende 
    813  
     448-- Wenn die Datenbank ohne Historie gefÃŒhrt wird, ist das Feld "identifier" verzichtbar. 
     449-- Diese wird nur von der Trigger-Version fÃŒr die Version MIT Historie verwendet. 
     450-- Es kann aus allen Tabellen entfernt werden. 
     451CREATE OR REPLACE FUNCTION alkis_drop_all_identifier() RETURNS void AS $$ 
     452DECLARE 
     453        c RECORD; 
     454BEGIN 
     455        FOR c IN 
     456                SELECT table_name 
     457                FROM information_schema.columns a 
     458                WHERE a.column_name='identifier' 
     459                ORDER BY table_name 
     460        LOOP 
     461                EXECUTE 'ALTER TABLE ' || c.table_name || ' DROP COLUMN identifier'; 
     462                RAISE NOTICE 'Entferne ''identifier'' aus: %', c.table_name; 
     463        END LOOP; 
     464END; 
     465$$ LANGUAGE plpgsql; 
     466 
     467 
     468-- Funktion zum Ermitteln der letzten import_id 
     469CREATE OR REPLACE FUNCTION get_import_id() RETURNS TRIGGER AS $$ 
     470BEGIN 
     471        EXECUTE 'SELECT max(id) FROM import' INTO NEW.import_id; 
    814472        RETURN NEW; 
    815473END; 
  • trunk/import/alkis-trigger-kill.sql

    r215 r314  
     1 
     2-- Trigger fuer Fortfuehrung der PostNAS-Datenbank, wenn KEINE Historie gefuehrt werden soll. 
     3-- Version 2014-01-31 
     4 
    15CREATE TRIGGER delete_feature_trigger 
    26        BEFORE INSERT ON delete 
    37        FOR EACH ROW 
    48        EXECUTE PROCEDURE delete_feature_kill(); 
     9 
     10-- 2013-07-10: Erweiterung zur Behandlung der Replace-Saetze in den Beziehungen 
     11-- 2014-01-31: entfaellt, wird ersetzt durch "update_import_id" 
     12--CREATE TRIGGER update_fields 
     13--      BEFORE INSERT ON alkis_beziehungen 
     14--      FOR EACH ROW 
     15--      EXECUTE PROCEDURE update_fields_beziehungen(); 
     16 
     17-- 2014-01-31: Den Relationen in "alkis_beziehungen" die laufende Nummer des Konverter-Laufes zuzuordnen. 
     18-- Dies ermoeglicht bei Aenderungen das saubere Loeschen alter Relationen im Trigger. 
     19CREATE TRIGGER update_import_id 
     20        BEFORE INSERT ON alkis_beziehungen 
     21        FOR EACH ROW 
     22        EXECUTE PROCEDURE get_import_id(); 
  • trunk/import/alkis_PostNAS_schema.sql

    r312 r314  
    1717-- Stand 
    1818-- ----- 
    19  
    20 -- letzte Änderungen an Version 0.6: 
    21  
    22 -- 2011-11-02 FJ: Neue Tabellen 
    23 -- 2011-11-04 FJ: Anpassungen fuer Buchauskunft "Historie" 
    24 -- 2011-11-21 FJ: siehe Version 0.6 
    25 -- 2011-12-16 FJ: Neue Tabelle "ax_sicherungspunkt" 
    26 -- 2012-01-16 FJ: Spalte "ap_pto.art" wird doch gebraucht. 
    27  
    28 -- ** Neuer Zweig PostNAS 0.7 (gdal > 1.9) ** 
    29  
    30 -- 2012-02-28 FJ: ZusammenfÃŒhren von Änderungen aus SVN (AE: Anfang Februar) mit eigener Version 
    31 --                Auskommentierte Zeilen "identifier" entfernt. 
    32 --                Feld "gemeindezugehoerigkeit" auskommentiert. 
    33 --                Bereinigung Kommentare. 
    3419 
    3520-- 2012-04-23 FJ  Diff zum GDAL-Patch #4555 angewendet: 
     
    6853 
    6954-- 2014-01-24 FJ  Feld "ax_datenerhebung_punktort" in "Punktort/TA/AG/AU" nach Vorschlag Marvin Brandt (Kreis Unna) 
     55 
    7056-- 2014-01-29 FJ  Spalte "zeitpunktderentstehung" an allen Vorkommen auf Format "varchar". 
    7157--                Alte auskommentierte Varianten entrÃŒmpelt.  
    7258--                Tabs durch Space ersetzt und Code wieder hÃŒbsch ausgerichtet. 
    7359 
     60-- 2014-01-31 FJ  Erweiterungen Marvin Brand (Unna) fuer sauberes Entfernen alter Beziehungen bei "replace". 
     61--                Lösung ÃŒber import_id. 
     62 
    7463 
    7564--  VERSIONS-NUMMER: 
    7665 
    7766--  Dies Schema kann NICHT mehr mit der installierbaren gdal-Version 1.9 verwendet werden. 
    78 --  Derzeit muss ogr2ogr (gdal) aus den Quellen compiliert werden, die o.g. Patch enthalten. 
     67--  Derzeit muss ogr2ogr (gdal) aus den Quellen compiliert werden, die o.g. Patch #4555 enthalten. 
    7968--  WeiterfÃŒhrung dieses Zweiges als PostNAS 0.7 
    8069 
    81  
    82 -- Zur Datenstruktur siehe Dokument: 
    83 -- http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/Profile_NRW/5-1-1_ALKIS-OK-NRW_GDB.html 
    84 -- http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/ALKIS_NRW/Pflichtenheft/Anlage03/Anlage3_ALKIS-OK-NRW_MAX.html 
    85  
    86 -- Übersicht "Landesspezifische Festlegungen zu ALKIS in NRW": 
    87 -- http://www.bezreg-koeln.nrw.de/extra/33alkis/alkis_nrw.htm 
     70-- ALKIS-Dokumentation (NRW): 
     71--  http://www.bezreg-koeln.nrw.de/extra/33alkis/alkis_nrw.htm 
     72--  http://www.bezreg-koeln.nrw.de/extra/33alkis/geoinfodok.htm 
     73--  http://www.bezreg-koeln.nrw.de/extra/33alkis/dokumente/GeoInfoDok/ALKIS/ALKIS_OK_V6-0.html 
    8874 
    8975  SET client_encoding = 'UTF8'; 
     
    10894--SELECT alkis_drop(); 
    10995 
     96 
     97-- Importtabelle fÃŒr Verarbeitungen 
     98CREATE TABLE import ( 
     99  id serial NOT NULL, 
     100  datum timestamp without time zone, 
     101  verzeichnis text, 
     102  importart text, 
     103  CONSTRAINT import_pk PRIMARY KEY (id) 
     104); 
     105 
     106CREATE UNIQUE INDEX import_id ON import USING btree (id); 
     107 
     108COMMENT ON TABLE  import             IS 'Verwaltung der Import-ProgrammlÀufe. Wird nicht vom Konverter gefÃŒllt sondern aus der Start-Prozedur (z.B. konv_batch.sh).'; 
     109COMMENT ON COLUMN import.id          IS 'Laufende Nummer der Konverter-Datei-Verarbeitung. Der Max-Wert von "id" wird als "alkis_beziehungen.import_id" verwendet, um ein vollstÀndiges Löschen alter Beziehungen zu ermöglichen.'; 
     110COMMENT ON COLUMN import.datum       IS 'Zeitpunkt des Beginns des Konverter-Laufes fÃŒr einen Stapel von NAS-Dateien.'; 
     111COMMENT ON COLUMN import.verzeichnis IS 'Ort von dem die NAS-Dateien verarbeitet wurden.'; 
     112COMMENT ON COLUMN import.importart   IS 'Modus des Konverter-Laufes: e="Erstladen" oder a="NBA-Aktualisierung"'; 
     113 
    110114-- Tabelle delete fÃŒr Lösch- und FortfÃŒhrungsdatensÀtze 
    111 CREATE TABLE "delete" 
    112 ( 
     115CREATE TABLE "delete" ( 
    113116     ogc_fid             serial NOT NULL, 
    114117     typename            varchar, 
     
    127130CREATE UNIQUE INDEX delete_fid ON "delete"(featureid); 
    128131 
    129  
    130132COMMENT ON TABLE "delete"             IS 'Hilfstabelle fÃŒr das Speichern von Löschinformationen.'; 
    131133COMMENT ON COLUMN delete.typename     IS 'Objektart, also Name der Tabelle, aus der das Objekt zu löschen ist.'; 
     
    148150-- ZusÀtzlich enthÀlt 'beziehungsart' noch ein Verb fÃŒr die Art der Beziehung. 
    149151 
    150 -- 2013-07-10 Erweiterung nach Vorschlag Marvin Brandt (Kreis Unna) 
    151 -- Durch Typenamen bessere Zuordnung der verlinkten Tabellen möglich. 
    152152CREATE TABLE alkis_beziehungen ( 
    153153   ogc_fid          serial NOT NULL, 
    154154   beziehung_von    character(16),   --> gml_id 
    155    von_typename     varchar, 
    156    beginnt          character(20), 
    157155   beziehungsart    varchar,         --  Liste siehe unten 
    158156   beziehung_zu     character(16), 
    159    zu_typename      varchar, 
     157   import_id        integer,         -- 2014-01-31  
    160158   CONSTRAINT alkis_beziehungen_pk PRIMARY KEY (ogc_fid) 
    161159); 
     
    164162CREATE INDEX alkis_beziehungen_zu_idx  ON alkis_beziehungen USING btree (beziehung_zu); 
    165163CREATE INDEX alkis_beziehungen_art_idx ON alkis_beziehungen USING btree (beziehungsart); 
     164 
    166165 
    167166-- Dummy-Eintrag in Metatabelle 
     
    172171COMMENT ON COLUMN alkis_beziehungen.beziehung_zu  IS 'Join auf Feld gml_id verschiedener Tabellen'; 
    173172COMMENT ON COLUMN alkis_beziehungen.beziehungsart IS 'Typ der Beziehung zwischen der von- und zu-Tabelle'; 
    174  
    175 COMMENT ON COLUMN alkis_beziehungen.von_typename  IS 'Name der Tabelle der VON-Beziehung'; -- 2013-07-10 
    176 COMMENT ON COLUMN alkis_beziehungen.beginnt       IS 'Mit Trigger kopiertes Beginnt-Datum des Datensatzes auf der Seite beziehung_von'; -- 2013-07-10 
    177 COMMENT ON COLUMN alkis_beziehungen.zu_typename   IS 'Name der Tabelle der ZU-Beziehung';  -- 2013-07-10 
     173--MMENT ON COLUMN alkis_beziehungen.beginnt       IS 'Mit Trigger kopiertes Beginnt-Datum des Datensatzes auf der Seite beziehung_von'; 
     174COMMENT ON COLUMN alkis_beziehungen.import_id     IS 'laufende Nummer des Konverter-Laufes aus "import.id".'; 
     175 
    178176 
    179177 
  • trunk/import/datenbank_anlegen.sh

    r299 r314  
    1111##  2013-10-16 F.J. krz: Neues Sript "pp_praesentation_sichten.sql" für Reparatur Präsentationsobjekte Straßennamen 
    1212##  2013-12-03 F.J. krz: Script "sichten.sql" einbeziehen. Darin View "doppelverbindung" fuer WMS FS-Kommunal. 
     13##  2014-01-31 F.J. krz: Unterschiede der Datenbank-Struktur für die Varianten MIT/OHNE Historie. 
    1314 
    1415POSTNAS_HOME=$(dirname $0) 
     
    5859if ! [ -e alkis-trigger.sql ]; then 
    5960        if ln -s alkis-trigger-kill.sql alkis-trigger.sql; then 
    60                 echo "** Symlink zu alkis-trigger-kill.sql (KEINE HISTORIE) angelegt" 
     61                echo "** Symlink zu alkis-trigger-kill.sql (KEINE HISTORIE) wurde angelegt" 
    6162        else 
    6263                echo "** alkis-trigger.sql FEHLT!" 
     
    6970con="-p 5432 -d ${DBNAME} " 
    7071echo "connection " $con 
     72 
    7173echo "******************************" 
    7274echo "**  Neue ALKIS-Datenbank    **" 
     
    9496        exit 1 
    9597fi 
     98 
     99## Kommentar zur Datenbank (allgemein) 
     100psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';" 
     101 
     102## Kann man das Ziel des Symlinks abfragen? Wenn Kill, dann ... 
     103##   if [ -e alkis-trigger.sql ]; then 
     104echo " " 
     105echo "** Besonderheiten der Datenbank OHNE Historie" 
     106## auskommentieren, wenn die Datenbank MIT Historie geführt wird 
     107## Import-ID: Tabelle und Spalte in "alkis_beziehungen" anlegen 
     108psql $con -U ${DBUSER} -f alkis_PostNAS_schema_ohneHist.sql >$MANDANT_HOME/log/schema.log 
     109## Spalte "identifier" aus allen Tabellen entfernen (die wird nur vom Trigger MIT Historie benoetigt) 
     110##psql $con -U ${DBUSER} -c "SELECT alkis_drop_all_identifier();" 
     111psql $con -U ${DBUSER} -c "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7 - Ohne Historie';" 
     112## fi 
    96113 
    97114echo " " 
     
    124141psql $con -U ${DBUSER} -f sichten.sql >$MANDANT_HOME/log/sichten.log 
    125142 
    126 echo " " 
    127 echo  "COMMENT ON DATABASE ${DBNAME} IS 'ALKIS - Konverter PostNAS 0.7';" | psql -p 5432 -d ${DBNAME} -U ${DBUSER}  
    128 echo " " 
    129  
    130143echo "** Berechtigung (grant.sql) Protokoll siehe log" 
    131144psql $con -U ${DBUSER} -f grant.sql >$MANDANT_HOME/log/log_grant.log 
  • trunk/import/konv_batch.sh

    r296 r314  
    3030##              Präsentationsobjekte Straßenname im Post-Processing 
    3131##   2013-10-24 F.J. krz: Zwischenlösung "praesentation_action.sql" wieder deaktiviert. 
     32##   2014-01-31 F.J. krz: Import Eintrag erzeugen (nach Vorschlag Marvin Brandt, Unna) 
    3233## 
    3334## ToDo: Option "-skipfailures" nach Test entfernen ? 
     
    100101  echo "Leeren der delete-Tabelle" 
    101102  echo 'TRUNCATE table "delete";' | psql $con  
     103 
     104# 
     105# Import Eintrag erzeugen 
     106# 
     107# Die dadurch erzeugte Import-ID dient zur Steuerung des Löschens alter Relationen im Trigger.  
     108# Wird die Datenbank MIT Historie geladen, muss die folgende Zeile auskommentiert werden. 
     109echo "INSERT INTO import (datum,verzeichnis,importart) VALUES ('"$(date '+%Y-%m-%d %H:%M:%S')"','"${ORDNER}"','"${verarb}"');" | psql $con 
     110 
    102111# 
    103112# Ordner abarbeiten 
  • trunk/import/nutzungsart_definition.sql

    r298 r314  
    6060        nutz_id         integer, 
    6161        class           integer  NOT NULL,  -- NULL-Werte der Quelltabelle durch den num. Wert 0 ersetzen 
    62         info            integer, 
     62        info                 integer, 
    6363        zustand         integer, 
    6464        "name"          varchar, 
  • trunk/import/sichten.sql

    r311 r314  
    2727--  2014-01-21 In "exp_csv": Rechtsgemeinsachaft zu allen Personen statt als eigener Satz. 
    2828--  2014-01-27 Neuer Baustein "flst_an_strasse". Neuer View "exp_csv_str" fÃŒr CSV-Export von Flst. an einer Straße 
    29 --      2014-01-29 Neuer View "strasse_als_gewanne" zur Fehlersuche. 
    30  
     29--  2014-01-29 Neuer View "strasse_als_gewanne" zur Fehlersuche. 
     30--  2014-01-31 Kommentar 
    3131 
    3232-- Bausteine fÃŒr andere Views: 
     
    931931-- Nach Änderung der Trigger-Function am 10.12.2013 wird die Beziehung trotzdem eingetragen, 
    932932-- nur die Felder "von_typename" und "beginnt" bleiben leer. 
    933  
    934 -- Diese FÀlle anzeigen: 
    935 CREATE OR REPLACE VIEW beziehungsproblem_faelle 
    936 AS 
    937   SELECT * 
    938     FROM alkis_beziehungen 
    939    WHERE beginnt IS NULL; 
    940  
    941 -- Wie viele sind das? 
    942 CREATE OR REPLACE VIEW beziehungsproblem_zaehler 
    943 AS 
    944   SELECT count(ogc_fid) AS anzahl 
    945     FROM alkis_beziehungen 
    946    WHERE beginnt IS NULL; 
     933-- 2014-01-31: Dieser Trigger wird nicht mehr verwendet. 
     934 
     935     -- Diese FÀlle anzeigen: 
     936--     CREATE OR REPLACE VIEW beziehungsproblem_faelle 
     937--    AS 
     938--       SELECT * 
     939--        FROM alkis_beziehungen 
     940--        WHERE beginnt IS NULL; 
     941--     COMMENT ON VIEW beziehungsproblem_faelle 
     942--      IS 'Fehlersuche: Im Trigger "update_fields_beziehungen()" wurde das Objekt in seiner Tabelle nicht gefunden, darum kein "beginnt" in "alkis_beziehungen" eingetragen.'; 
     943 
     944     -- Wie viele sind das? 
     945--     CREATE OR REPLACE VIEW beziehungsproblem_zaehler 
     946--     AS 
     947--       SELECT count(ogc_fid) AS anzahl 
     948--         FROM alkis_beziehungen 
     949--        WHERE beginnt IS NULL; 
     950--     COMMENT ON VIEW beziehungsproblem_faelle 
     951--      IS 'Fehlersuche: Wie oft fehlt das beginnt-Feld in alkis_beziehungen?'; 
    947952 
    948953 
Note: See TracChangeset for help on using the changeset viewer.