Next_GlobalID
Definition
"Next_GlobalID" gibt anhand einer in der Geodatabase registrierten Tabelle als Eingabe den nächsten GlobalID-Wert zurück.
Wenn Sie mithilfe von SQL eine Zeile in die Tabelle einfügen, können Sie diesen Wert verwenden.
Das GlobalID-Feld wird hinzugefügt, sodass die Tabelle Bestandteil der Geodatabase-Replikation ist. Die Funktion "Next_GlobalID" gibt keine Werte für weitere GUID-Felder zurück.
Wenn Sie mithilfe von SQL eine Zeile in die Tabelle einfügen, können Sie diesen Wert verwenden.
Falls die Eingabetabelle nicht in der Geodatabase registriert ist, wird ein Fehler zurückgegeben.

Für die Verwendung der Funktion "Next_GlobalID" in PostgreSQL muss das PostgreSQL-Modul "uuid-ossp contrib" in der Datenbank installiert sein, in der die Geodatabase gespeichert ist.
Um den nächsten GlobalID-Wert in einer SQL Server-Datenbank abzurufen, verwenden Sie die SQL Server-Funktion "newid()".
Syntax
<geodatabase administrator schema>.next_globalid (<table owner>, <table name>)
Bei den meisten Geodatabases lautet das Geodatabase-Administrator-Schema "sde". Im Falle von DBO-Schema-Geodatabases in SQL Server lautet das Schema "dbo", und bei Benutzerschema-Geodatabases in Oracle ist dies der Name des Benutzerschemas.
Rückgabetyp
String
Beispiele
Nachfolgend sind Beispiele für die Verwendung der Funktion "NextGlobalID" in allen unterstützten Datenbanken aufgeführt.
In der Geodatabase registrierte Tabellen enthalten ObjectID-Spalten (RowIDs). Wenn Sie also einen Datensatz in eine Geodatabase-Tabelle einfügen, die eine GlobalID-Spalte enthält, müssen Sie auch einen RowID-Wert einfügen.
In dem Beispiel für alle Datenbanken wird ein Datensatz in die Tabelle "sitings" eingefügt, die im Besitz von "buse" ist. Außerdem wird die Prozedur "Next_RowID" aufgerufen, um einen Wert in das ObjectID-Feld einzufügen. Die Prozedur "Next_GlobalID" wird zum Einfügen eines Wertes in das GlobalID-Feld aufgerufen. In DB2 muss zunächst die Prozedur "Next_RowID" zum Bereitstellen eines Wertes für das ObjectID-Feld aufgerufen werden. Verwenden Sie anschließend diesen Wert in der Anweisung zum Einfügen, die die Funktion "Next_GlobalID" enthält, um dem GlobalID-Feld einen Wert hinzuzufügen.
DB2
Da Geodatabase-Tabellen über ein ObjectID-Feld verfügen, das nicht null ist, müssen Sie zunächst einen Wert abrufen, den Sie in dieses Feld einfügen. Im folgenden Beispiel wird der nächste RowID-Wert für das ObjectID-Feld (698) abgerufen. Anschließend wird ein Datensatz in die Tabelle eingefügt, die den nächsten RowID-Wert und die Funktion "Next_GlobalID" enthält, mit der dem GlobalID-Feld ein Wert hinzugefügt wird.
CALL sde.next_rowid('BUSE', 'SITINGS', ?, ?, ?);
Value of output parameters
----------------------------
Parameter Name : O_ROWID
Parameter Value : 698
Parameter Name : O_MSGCODE
Parameter Value : 0
Parameter Name : O_MESSAGE
Parameter Value : Procedure successfully completed.
Return Status = 1
INSERT INTO buse.sitings (objectid, globalid, mon_type)
VALUES
(698, sde.next_globalid, 'golem');
The SQL command completed successfully
Oracle
INSERT INTO wuse.sitings (objectid, globalid, mon_type)
VALUES
(sde.gdb_util.next_rowid('WUSE', 'SITINGS'), sde.gdb_util.next_globalid, 'golem');
1 row created
PostgreSQL
INSERT INTO wuse.sitings (objectid, globalid, mon_type)
VALUES
(sde.next_rowid('wuse', 'sitings'), sde.next_globalid(), 'golem');
Query returned successfully: 1 row affected, 109 ms execution time.