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-Spalte 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. Dazu können Sie das Dienstprogramm "sde.gdb_util.next-globalid" verwenden.
Verwenden Sie das Dienstprogramm 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 das Dienstprogramm 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 das Dienstprogramm, um einen Wert in die versionierte Sicht der Tabelle einzufügen.
- Öffnen Sie einen SQL-Editor, z. B. SQL*Plus.
- Stellen Sie als Benutzer mit Berechtigungen zum Bearbeiten der Tabelle eine Verbindung mit der Datenbank her.
Wenn die Bearbeitung über eine versionierte Sicht oder Archivansicht erfolgt, muss der Benutzer auch über Berechtigungen zum Bearbeiten der Sicht verfügen.
- Wenn Sie einen Datensatz einfügen, verwenden Sie das Dienstprogramm "sde.gdb_util.next_globalid", um den nächsten Global ID-Wert oder GUID-Wert einzufügen.
In diesem Beispiel wird ein Datensatz in "mytable" eingefügt. Die Tabelle enthält die Spalten "ObjectID" und "ST_Geometry".
INSERT INTO user22.mytable (objectid, globalid, shape) VALUES ( sde.gdb_util.next_rowid('USER22', "MYTABLE'), sde.gdb_util.next_globalid(), (sde.st_polygon('polygon ((10000 520000, 100008889 55000, 1045545983 234280934, 10000 520000))',4326)) );
- Übernehmen Sie die Änderungen in die Datenbank, wenn Sie diese abgeschlossen haben.