Definition
„GlobalID_Name" verwendet eine Tabelle als Eingabeparameter und gibt den Namen des Feldes "Global ID" in der Tabelle zurück.
Das Feld "Global ID" wird hinzugefügt, damit die Tabelle in die Geodatabase-Replikation oder Offline-Kartenverwendung eingebunden werden kann. Die Funktion "GlobalID_Name" gibt keine Namen von GUID-Feldern zurück.
Verwenden Sie "GlobalID_Name", wenn die Global-ID-Felder programmgesteuert mit ArcObjects erstellt werden und Sie sich nicht sicher sind, welchen Namen ein erstelltes Feld hat. Wenn Sie das Global-ID-Feld mit ArcGIS Desktop oder dem Geoverarbeitungswerkzeug bzw. Python-Skript Global IDs hinzufügen zur Tabelle hinzugefügt haben, lautet der Name des Feldes immer "globalid" und Sie müssen ihn nicht mit "GlobalID_Name" ermitteln.
Eine leere Zeichenfolge wird zurückgegeben, wenn die Tabelle kein Feld "Global ID" enthält. Falls die Tabelle nicht in der Geodatabase registriert ist oder gar nicht vorhanden ist, wird eine Meldung angezeigt, die darauf hinweist, dass die Tabelle nicht in der Geodatabase registriert ist. Eine leere Zeichenfolge kann auch zurückgegeben werden.
Syntax
<geodatabase administrator schema>.globalid_name (<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
Nachfolgend finden Sie Beispiele für die Verwendung der Funktion "GlobalID_Name" in allen Datenbanktypen, in denen sie unterstützt wird.
Im ersten Beispiel wird der Name des Feldes "Global ID" in der Tabelle "signs" abgefragt, die im Besitz von "insp3" ist.
Im zweiten Beispiel wird der Name des Feldes "Global ID" in der Adressentabelle abgefragt, die im Besitz des Planers ist. Die Tabelle enthält keine Global-ID-Spalte.
Im dritten Beispiel wird der Name des Feldes "Global ID" in der Tabelle "partners" abgefragt, die im Besitz von "insp3" ist. Die Tabelle "partners" ist nicht in der Geodatabase registriert.
DB2
VALUES sde.globalid_name('INSP3', 'SIGNS')
SIGNID
VALUES sde.globalid_name('PLANNER', 'ADDRESSES')
VALUES sde.globalid_name('INSP3', 'PARTNERS')
Oracle
SELECT sde.gdb_util.globalid_name('INSP3', 'SIGNS') FROM DUAL;
SDE.GDB_UTIL.GLOBALID_NAME('INSP3', 'SIGNS') --------------------------------------------------
SIGNID
SELECT sde.gdb_util.globalid_name('PLANNER', 'ADDRESSES') FROM DUAL;
SDE.GDB_UTIL.GLOBALID_NAME('PLANNER', 'ADDRESSES') --------------------------------------------------
SELECT sde.gdb_util.globalid_name('INSP3', 'PARTNERS') FROM DUAL;
SDE.GDB_UTIL.GLOBALID_NAME('INSP3', 'PARTNERS') --------------------------------------------------
ORA-20220: Class INSP3.PARTNERS not registered to the Geodatabase.
PostgreSQL
SELECT sde.globalid_name('insp3', 'signs');
signid
SELECT sde.globalid_name('planner', 'addresses');
SELECT sde.globalid_name('insp3', 'partners');
NOT REGISTERED
SQL Server
SELECT sde.globalid_name('insp3', 'signs');
SignID
SELECT sde.globalid_name('planner', 'addresses');
SELECT sde.globalid_name('insp3', 'partners');
NOT REGISTERED