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