RowID_Name

Définition

RowID_Name utilise une table comme paramètre en entrée et renvoie le nom du champ ObjectID (ou RowID) de la table. Cette fonction est utile si vous voulez effectuer des mises à jour non versionnées en fonction d'une table de géodatabase à l'aide de SQL. Vous devez connaître le nom du champ ObjectID pour pouvoir y insérer des valeurs.

Un message d'erreur ou la valeur Null est renvoyé(e) si la table n'est pas inscrite dans la géodatabase.

Syntaxe

<geodatabase administrator schema>.rowid_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 RowID_Name dans chaque type de base de données.

Le premier exemple illustre une requête visant à obtenir le nom de la colonne RowID inscrite pour la table customers détenue par mgr.

Le second exemple illustre une requête visant à obtenir le nom de la colonne RowID inscrite pour la table inventory. La table inventory n'est pas inscrite dans la géodatabase et ne comporte donc pas de colonne RowID inscrite.

DB2

VALUES sde.rowid_name('MGR', 'CUSTOMERS')

ID
VALUES sde.rowid_name('MGR', 'INVENTORY')

Application raised error or warning with diagnostic text: 
"MGR.INVENTORY is not registered to the geodatabase".

Oracle

SELECT sde.gdb_util.rowid_name('MGR', 'CUSTOMERS')
FROM DUAL;

SDE.GDB_UTIL.ROWID_NAME('MGR', 'CUSTOMERS')
--------------------------------------------------
ID
SELECT sde.gdb_util.rowid_name('MGR', 'INVENTORY')
FROM DUAL;

SDE.GDB_UTIL.ROWID_NAME('MGR', 'INVENTORY')
----------------------------------------------------
SELECT sde.gdb_util.rowid_name('MGR', 'INVENTORY') FROM DUAL;
*
ERROR at line 1:
ORA-20220: Class MGR.INVENTORY not registered to the Geodatabase.

PostgreSQL

SELECT sde.rowid_name('mgr', 'customers');

id
SELECT sde.rowid_name('mgr', 'inventory');

NOT REGISTERED

SQL Server

SELECT sde.rowid_name('mgr', 'customers');

id
SELECT sde.rowid_name('mgr', 'inventory');

NULL

Thèmes connexes

5/10/2014