ArcGIS Desktop

  • Dokumentation
  • Support

  • 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 for 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

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr...

Next_GlobalID

  • Definition
  • Syntax
  • Rückgabetyp
  • Beispiele

Definition

"Next_GlobalID" gibt anhand einer in der Geodatabase registrierten Tabelle als Eingabe 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.

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.

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

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 Feld "Globale ID" 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.

Hinweis:

Für die Verwendung der Funktion "Next_GlobalID" in PostgreSQL müssen Sie die Erweiterung "PostgreSQL uuid-ossp" in der Datenbank erstellen, in der die Geodatabase gespeichert ist.

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 direkt die SQL Server-Funktion "newid()" 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 globale 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 Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

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