RowID_Name

定義

RowID_Name は、入力パラメータとしてテーブルを受け取り、テーブルの ObjectID(または RowID)フィールドの名前を返します。この関数は、SQL を使用して、ジオデータベース テーブルに対してバージョン非対応の編集を実行する場合に役立ちます。テーブルに値を挿入するには、ObjectID フィールドの名前がわかっている必要があります。

テーブルがジオデータベースに登録されていない場合、エラー メッセージまたは NULL が返されます。

構文

<geodatabase administrator schema>.rowid_name(<table owner>, <table name>)

ほとんどのジオデータベースでは、ジオデータベース管理者のスキーマは sde です。ただし、SQL Server の dbo スキーマ ジオデータベースの場合、このスキーマは dbo になり、Oracle 内のユーザ スキーマ ジオデータベースの場合、このスキーマはユーザのスキーマ名になります。

戻り値のタイプ

文字列

以下に、それぞれのデータベース タイプで RowID_Name 関数を使用する例を示します。

最初の例は、mgr が所有する customers テーブルの、登録済みの RowID 列の名前を検索しています。

2 番目の例は、inventory テーブルの、登録済みの RowID 列の名前を検索しています。inventory テーブルは、ジオデータベースに登録されていません。そのため、inventory テーブルには登録済みの RowID 列が含まれていません。

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

関連トピック

5/25/2014