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 die Funktion "sde.next_globalid" 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 über eine SQL-Eingabeaufforderung als Benutzer mit Berechtigungen zum Bearbeiten der Tabelle bei der Datenbank 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.
- Wenn Sie einen Datensatz einfügen, verwenden Sie die Funktion "sde.next_globalid", um den nächsten Global ID-Wert einzufügen. Da es sich dabei um eine Geodatabase-Tabelle handelt, ist auch eine ObjectID vorhanden. Verwenden Sie die Funktion "sde.next_rowid", um auch einen Wert in das ObjectID-Feld einzufügen.
--Get next ObjectID CALL sde.next_rowid('JASON', 'ASSETS', ?, ?, ?); Value of output parameters Parameter Name : O_ROWID Parameter Value : 49999 Parameter Name : O_MSGCODE Parameter Value : 0 Parameter Name : O_MESSAGE Parameter Value : Procedure successfully completed. Return Status = 1 --Insert record INSERT INTO jason.assets (objectid, asset_id, globalid) VALUES (49999, 57, sde.next_globalid);
- Übernehmen Sie die Änderungen in die Datenbank, wenn Sie diese abgeschlossen haben.