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 und nicht versionierten Daten in Offlinekarten beizubehalten. GUIDs können allen Tabellen hinzugefügt werden.
Falls die zu editierende Tabelle in eine Replikation oder Offlinekarte eingebunden ist oder eine GUID enthält, müssen Sie einen Einzelwert in die Global ID-Spalte oder die GUID-Spalte einfügen, wenn Sie mit SQL einen neuen Datensatz in die Tabelle einfügen. Hierzu können Sie die Funktion "newid()" verwenden.
Verwenden Sie die Funktion bei der Bearbeitung einer nicht versionierten Tabelle, für die keine Archivierung aktiviert wurde, um die ID direkt in die Tabelle einzufügen. Verwenden Sie die Funktion bei der Bearbeitung einer nicht versionierten Tabelle, für die die Archivierung aktiviert wurde, um die ID in die Archivansicht der Tabelle einzufügen. Wenn Sie eine versionierte Tabelle bearbeiten, verwenden Sie die Funktion, um einen Wert in die versionierte Sicht der Tabelle einzufügen.
- 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 oder Archivansicht durchführen, muss der Benutzer auch über Berechtigungen zum Bearbeiten der Sicht verfügen.
- Ö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.
- 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.assets (asset_id, globalid) VALUES (57, newid())
Beachten Sie, dass Sie den nächsten ID-Wert mit der gespeicherten Prozedur "Next_GlobalID" abrufen können. Sie können eine gespeicherte Prozedur jedoch nicht in einer INSERT-Anweisung verschachteln. Deshalb müssen Sie die gespeicherte Prozedur aufrufen, um den nächsten verfügbaren Wert abzurufen, und den resultierenden Wert der Anweisung zum Einfügen hinzufügen. Dies kann nützlich sein, wenn Sie den Wert anzeigen möchten, bevor Sie ihn einfügen.