ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Daten verwalten
  • Werkzeuge
  • Erweiterungen

Next_GlobalID

  • Definition
  • Syntax
  • Rückgabetyp
  • Beispiele

Definition

"Next_GlobalID" gibt anhand einer in der Geodatabase registrierten Tabelle als Eingabeparameter den nächsten Global-ID-Wert zurück.

Wenn Sie mithilfe von SQL eine Zeile in die Tabelle einfügen, können Sie diesen Wert verwenden.

Das Feld "Globale ID" wird hinzugefügt, sodass die Tabelle Bestandteil der Geodatabase-Replikation oder Offlinekarte ist.

Falls die Eingabetabelle nicht in der Geodatabase registriert ist, wird ein Fehler zurückgegeben.

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 wird der Name des Benutzerschemas verwendet.

Rückgabetyp

Zeichenfolge

Beispiele

Es folgen einige Beispiele für die Verwendung von "Next_GlobalID" in allen unterstützten Datenbanken.

In dem Beispiel für die einzelnen 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, und danach die Prozedur "Next_GlobalID", um einen Wert in das Global-ID-Feld einzufü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, um einen Wert in das Feld "Globale ID" einzufügen.

--Get the next ObjectID value.
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 the ObjectID from the previous statement to the objectid field.
--Use the Next_GlobalID function to insert a value to the globalid field.
INSERT INTO buse.sitings (objectid, globalid, mon_type)
 VALUES (
  698,
  sde.next_globalid,
  'golem'
 );
The SQL command completed successfully

Oracle

Sie können das Dienstprogramm "Next_GlobalID" der Anweisung zum Einfügen hinzufügen, um den nächsten verfügbaren ID-Wert einzufügen. Im folgenden Beispiel wird ebenfalls das Dienstprogramm "Next_RowID" verwendet, um einen Wert in das ObjectID-Feld einzufügen, das in allen Geodatabase-Tabellen vorhanden ist und ausgefüllt werden muss.

INSERT INTO buse.sitings (objectid, globalid, mon_type) VALUES (  sde.gdb_util.next_rowid('BUSE', 'SITINGS'),  sde.gdb_util.next_globalid,  'golem' );
1 row created

PostgreSQL

Sie können die Funktion "Next_GlobalID" der Anweisung zum Einfügen hinzufügen, um den nächsten verfügbaren ID-Wert einzufügen. Im folgenden Beispiel wird ebenfalls die Funktion "Next_RowID" verwendet, um einen Wert in das ObjectID-Feld einzufügen, das in allen Geodatabase-Tabellen vorhanden ist und ausgefüllt werden muss.

INSERT INTO buse.sitings (objectid, globalid, mon_type) VALUES (  sde.next_rowid('buse', 'sitings'),  sde.next_globalid(),  'golem' );
Query returned successfully: 1 row affected, 109 ms execution time.

SQL Server

Bei "Next_GlobalID" und "Next_RowID" handelt es sich um gespeicherte Prozeduren, die außerhalb der INSERT-Anweisung ausgeführt werden müssen, um die nächsten ID-Werte abzurufen. Beide Prozeduren sind im Schema des Geodatabase-Administrators gespeichert. Im folgenden Beispiel ist der Geodatabase-Administrator "sde". Die von diesen gespeicherten Prozeduren zurückgegebenen Werte werden in der INSERT-Anweisung verwendet, um die Tabelle "sitings" zu aktualisieren.

--Get the next ObjectID value. DECLARE @oid int EXEC sde.next_rowid 'buse', 'sitings', @oid OUTPUT SELECT @oid "ObjectID value";
ObjectID value 98765
--Get the next global ID value. DECLARE @gid uniqueidentifier EXEC sde.next_globalid @gid OUTPUT SELECT @gid "ID value";
ID value 0D5D0605-8954-4A65-B86C-D2DA96C2D0C5
--Insert a row to the sitings table. INSERT INTO buse.sitings (objectid, globalid, mon_type) VALUES (  98765,  '0D5D0605-8954-4A65-B86C-D2DA96C2D0C5',  'golem'
 );
Tipp:

Wenn Sie den nächsten GlobalID-Wert nicht abrufen möchten, bevor er in die Tabelle eingefügt wird, können Sie die SQL Server-Funktion "newid()" direkt in der Anweisung zum Einfügen verwenden. Weitere Informationen dazu finden Sie unter Einfügen eines Wertes in eine Global-ID-Spalte in SQL Server mit SQL.

Verwandte Themen

  • GlobalID_Name
  • Einfügen eines Wertes in eine Global-ID- oder GUID-Spalte in DB2 mit SQL
  • Einfügen eines Wertes in eine Spalte mit globaler ID oder GUID in Oracle per SQL
  • Einfügen eines Wertes in eine Spalte mit globaler ID oder GUID in PostgreSQL per SQL

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches