Einfügen eines Werts in eine Spalte mit globaler ID oder GUID in SQL Server 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 Microsoft SQL Server-Funktion "newid()". Falls die zu editierende Tabelle versioniert ist, verwenden Sie die Funktion "newid()", 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. Melden Sie bei SQL Server Management Studio als Benutzer mit Berechtigungen zum Editieren der Tabelle an.
  3. Öffnen Sie ein neues Abfragefenster, und stellen Sie eine Verbindung zu der Datenbank her, in der die zu editierende Ansicht enthalten ist.
  4. Wenn Sie eine versionierte Tabelle editieren, erstellen Sie eine neue Version, legen die Version fest und starten dann eine Editiersitzung. Dies ist unter Bearbeiten von versionierten Daten in SQL Server mit Multiversioned Views und SQL beschrieben. Wenn Sie eine nicht versionierte Tabelle editieren, fahren Sie mit dem nächsten Schritt fort.
  5. Verwenden Sie die Funktion "newid()", um die globale ID-Spalte oder GUID-Spalte aufzufüllen, wenn Sie einen Datensatz in die Tabelle einfügen.
    INSERT INTO jason.asset_mv (asset_id,globalid) 
    VALUES (57,newid())
    
  6. Schließen Sie die Editiersitzung, nachdem Sie die Bearbeitung abgeschlossen haben, wenn Sie dafür eine Multiversioned View verwendet haben. Informationen zur Syntax finden Sie unter Bearbeiten von versionierten Daten in SQL Server mit Multiversioned Views und SQL.

3/6/2012