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 Funktion "newid()". 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 "newid()", 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 bei SQL Server Management Studio als Benutzer mit Berechtigungen zum Bearbeiten der Tabelle an.

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

  3. Öffnen Sie ein neues Abfragefenster und stellen Sie eine Verbindung mit der Datenbank her, die die Tabelle oder die Sicht enthält, die bearbeitet werden soll.
  4. Wenn Sie eine versionierte Tabelle bearbeiten, finden Sie unter Bearbeiten von versionierten Daten in SQL Server 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.
  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_vw (asset_id,globalid) 
    VALUES (57,newid())
    
9/12/2013