Définition
GlobalID_Name utilise une table comme paramètre en entrée et renvoie le nom du champ d'identifiant global dans la table.
Le champ d'identifiant global est ajouté pour que la table puisse participer à la réplication de géodatabase ou à l'utilisation de cartes hors connexion. La fonction GlobalID_Name ne renvoie pas le nom des champs GUID.
Vous pouvez utiliser GlobalID_Name si vos champs d'identifiant global sont créés par programme avec des ArcObjects et que vous n'êtes pas sûr du nom du champ créé. Si vous avez ajouté le champ d'identifiant global à la table à l'aide d'ArcGIS for Desktop, de l'outil de géotraitement Ajouter les ID globaux ou d'un script Python, le nom du champ est toujours globalid. Par conséquent, vous n'avez pas besoin d'utiliser GlobalID_Name pour connaître le nom du champ.
Une chaîne nulle est renvoyée lorsque la table ne comporte pas de champ d'identifiant global. Si la table n'est pas enregistrée avec la géodatabase ou si elle n'existe pas, un message indiquant que la table n'est pas enregistrée avec la géodatabase s'affiche ou une chaîne nulle est renvoyée.
Syntaxe
<geodatabase administrator schema>.globalid_name (<table owner>, <table name>)
Dans la plupart des géodatabases, la structure de l'administrateur de géodatabase est la structure sde. Cependant, dans les géodatabases de structure dbo de SQL Server la structure est dbo et dans les géodatabases de structure utilisateur Oracle, la structure est le nom de la structure utilisateur.
Type de retour
Chaîne
Exemples
Vous trouverez ci-dessous des exemples d'utilisation de la fonction GlobalID_Name dans chaque type de base de données la prenant en charge.
Le premier exemple illustre une requête visant à obtenir le nom du champ d'identifiant global dans la table signs détenue par insp3.
Le second exemple illustre une requête visant à obtenir le nom du champ d'identifiant global dans la table addresses détenue par planner. La table ne contient pas de colonne d'identifiant global.
Le troisième exemple illustre une requête visant à obtenir le nom du champ d'identifiant global dans la table partners détenue par insp3. La table partners n’est pas inscrite auprès de la géodatabase.
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