Einfügen eines Wertes in eine globale ID- oder GUID-Spalte in Informix mit 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-Spalte 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 "sde.retrieve_guid()". Wenn Sie eine nicht versionierte Tabelle bearbeiten, können Sie die ID direkt in die Tabelle einfügen. Wenn Sie eine versionierte Tabelle bearbeiten, verwenden Sie die Funktion "sde.retrieve_guid()", um mit SQL einen Wert in die GUID- oder globale ID-Spalte in einer versionierten Sicht der Tabelle einzufügen.

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 Tabelle bearbeiten, die mit ArcGIS 10.1 oder höher versioniert wurde, ist in der Datenbank für diese Tabelle bereits eine versionierte Ansicht vorhanden. Beim Ansichtsnamen handelt es sich um den Tabellennamen, an den "_vw" angehängt wurde. Wenn keine versionierte Ansicht vorhanden ist, können Sie mit ArcGIS for Desktop eine Ansicht erstellen. Anweisungen finden Sie unter Erstellen von versionierten Ansichten aus ArcGIS for Desktop.
  2. Melden Sie sich über eine SQL-Eingabeaufforderung als Benutzer mit Berechtigungen zum Bearbeiten der Tabelle bei der Datenbank an.

    Wenn Sie die Bearbeitung über eine versionierte Sicht durchführen, muss der Benutzer auch Berechtigungen zum Bearbeiten der Sicht aufweisen.

  3. Wenn Sie eine versionierte Tabelle bearbeiten, finden Sie unter Bearbeiten von versionierten Daten in Informix mit SQL Anweisungen zum Verwenden von versionierten Sichten zum Bearbeiten. Wenn Sie eine nicht versionierte Tabelle editieren, fahren Sie mit dem nächsten Schritt fort.
  4. Wenn Sie einen Datensatz einfügen, verwenden Sie die Funktion "retrieve_guid()", um den nächsten globalen ID-Wert einzufügen.
    INSERT INTO jason.asset_vw (asset_id,globalid) 
    VALUES (57,sde.retrieve_guid());
    
  5. Übernehmen Sie die Änderungen in die Datenbank, wenn Sie diese abgeschlossen haben.
9/12/2013