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

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

File:
1 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; 
Note: See TracChangeset for help on using the changeset viewer.