Is_Versioned

定義

Is_Versioned はテーブルを入力パラメータとして受け取り、テーブルがバージョン対応登録されている場合は TRUE を返します。テーブルがバージョン対応登録されていない場合、Is_Versioned は FALSE を返します。テーブルがジオデータベースに登録されていない場合は、それを知らせるメッセージが返されます。データベースに存在しないテーブル名を指定した場合にも、テーブルがジオデータベースに登録されていないことを示すメッセージが返されます(たとえば、テーブル名を間違えて入力した場合)。これは、Is_Versioned が、そのテーブルが存在するかどうかを、TABLE_REGISTRY システム テーブルで確認するためです。

構文

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

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

戻り値のタイプ

文字列

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

最初の例は、TECH3 が所有する LATERALS テーブルを検索し、このテーブルがバージョン対応登録されているかどうかを判定しています。

2 つめの例は、CREWBOSS が所有する CREWS テーブルを検索し、このテーブルがバージョン対応登録されているかどうかを判定しています。CREWS はバージョン対応登録されていないため、FALSE が返されます。

3 つめの例は、DENTRY が所有する SERVICE_AREAS テーブルを検索しています。SERVICE_AREAS テーブルは、ジオデータベースに登録されていません。

DB2

VALUES sde.is_versioned('TECH3', 'LATERALS')

TRUE
VALUES sde.is_versioned('CREWBOSS', 'CREWS')

FALSE
VALUES sde.is_versioned('DENTRY', 'SERVICE_AREAS')

Application raised error or warning with diagnostic text: 
"MYDB.DENTRY.SERVICE_AREAS is not registered to the geodatabase".

Oracle

SELECT sde.gdb_util.is_versioned('TECH3', 'LATERALS')
FROM DUAL;

SDE.GDB_UTIL.IS_VERSIONED('TECH3', 'LATERALS')
--------------------------------------------------
TRUE
SELECT sde.gdb_util.is_versioned('CREWBOSS', 'CREWS')
FROM DUAL;

SDE.GDB_UTIL.IS_VERSIONED('CREWBOSS', 'CREWS')
--------------------------------------------------
FALSE
SELECT sde.gdb_util.is_versioned('DENTRY', 'SERVICE_AREAS')
FROM DUAL;

SDE.GDB_UTIL.IS_VERSIONED('DENTRY', 'SERVICE_AREAS')
----------------------------------------------------

NOT REGISTERED

PostgreSQL

SELECT sde.is_versioned('tech3', 'laterals');

TRUE
SELECT sde.is_versioned('crewboss', 'crews');

FALSE
SELECT sde.is_versioned('dentry', 'services_areas');

NOT REGISTERED

SQL Server

SELECT dbo.is_versioned('tech3', 'laterals');

TRUE
SELECT dbo.is_versioned('crewboss', 'crews');

FALSE
SELECT dbo.is_versioned('dentry', 'services_areas');

NOT REGISTERED

関連トピック

5/25/2014