RowID_Name

Definition

RowID_Name verwendet eine Tabelle als Eingabeparameter und gibt den Namen der ObjectID (oder RowID)-Tabelle zurück. Dies ist hilfreich, wenn Sie nicht versionierte Änderungen für eine Geodatabase-Tabelle mit SQL durchführen. Sie müssen den Namen des ObjectID-Feldes kennen, um Werte einfügen zu können.

Falls die Tabelle nicht in der Geodatabase registriert ist, wird eine Fehlermeldung oder NULL zurückgegeben.

Syntax

<geodatabase administrator schema>.rowid_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

String

Beispiele

Nachfolgend finden Sie Beispiele für die Verwendung der Funktion "RowID_Name" bei allen Datenbanktypen.

Im ersten Beispiel wird der Name der RowID-Spalte abgefragt, die für die Tabelle "customers" registriert ist, die im Besitz von "mgr" ist.

Im zweiten Beispiel wird der Name der RowID-Spalte abgefragt, die für die Tabelle "inventory" registriert ist. Die Tabelle "inventory" ist nicht in der Geodatabase registriert und weist daher keine registrierte RowID-Spalte auf.

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

Verwandte Themen

9/12/2013