Einfügen eines Werts in eine Spalte mit globaler ID oder GUID in PostgreSQL per SQL

Mit den Datentypen "Global ID" und "GUID" werden Zeichenfolgen aus 36 Zeichen gespeichert (ähnlich denen in der Registrierung), die in geschweifte Klammern eingeschlossen sind. Mit diesen Zeichenfolgen werden Features oder Tabellenzeilen innerhalb einer Geodatabase oder geodatabase-übergreifend eindeutig gekennzeichnet. Globale IDs werden verwendet, um die Eindeutigkeit von Datensätzen in unidirektionalen und bidirektionalen Geodatabase-Replikaten aufrechtzuerhalten. GUIDs können allen Layern hinzugefügt werden.

Falls die zu editierende Tabelle an einer Replikation beteiligt ist oder eine GUID enthält, müssen Sie daher einen Einzelwert in die globale ID-Spalte oder die GUID-Spalte einfügen, wenn Sie per SQL einen neuen Datensatz in die Tabelle einfügen. Verwenden Sie hierzu die Funktion "retrieve_guid()", um eine Multiversioned View der Tabelle per SQL zu bearbeiten.

TippTipp:

Sie können einer Feature-Class im Fenster "Katalog" globale IDs hinzufügen, indem Sie mit der rechten Maustaste auf das Dataset klicken und im Kontextmenü die Option Globale IDs hinzufügen wählen. Beim Editieren mit ArcGIS verwaltet die Geodatabase diese Werte automatisch.

Schritte:
  1. Wenn Sie eine versionierte Tabelle editieren, erstellen Sie daraus eine Multiversioned View, wie unter Erstellen von Multiversioned Views beschrieben.
  2. Befolgen Sie beim Editieren einer versionierten Tabelle die Anleitung unter Bearbeiten von versionierten Daten in PostgreSQL mit Multiversioned Views und SQL, um eine Version für das Editieren zu erstellen, legen Sie die Version fest, und starten Sie dann eine Editiersitzung. Wenn Sie eine nicht versionierte Tabelle editieren, fahren Sie mit dem nächsten Schritt fort.
  3. Verwenden Sie beim Einfügen eines Datensatzes die Funktion "retrieve_guid()", um den Wert für die nächste globale ID oder GUID einzufügen.
    INSERT INTO jason.asset_mv (asset_id,globalid) 
    VALUES (57,sde.retrieve_guid());
    
  4. Beenden Sie die Editiersitzung nach Abschluss der Bearbeitung wie unter Bearbeiten von versionierten Daten in PostgreSQL mit Multiversioned Views und SQL beschrieben, falls Sie eine versionierte Tabelle bearbeitet haben.

7/10/2012