定義
Is_Versioned はテーブルを入力パラメーターとして受け取り、テーブルがバージョン対応登録されている場合は TRUE を返します。テーブルがバージョン対応登録されていない場合、Is_Versioned は FALSE を返します。テーブルがジオデータベースに登録されていない場合、Is_Versioned は NOT REGISTERED を返します。Is_Versioned はテーブルの有無をジオデータベースのシステム テーブルのみで確認するため、テーブルがデータベースに存在しない場合 (たとえば、名前を間違えて入力した場合)、テーブルが登録されていないことを示すメッセージが返されることに注意してください。
構文
<geodatabase administrator schema>.is_versioned (<table owner>, <table name>)
ほとんどのジオデータベースでは、ジオデータベース管理者のスキーマは sde です。ただし、SQL Server の dbo スキーマ ジオデータベースの場合、このスキーマは dbo になり、Oracle のユーザー スキーマ ジオデータベースの場合、このスキーマはユーザーのスキーマ名になります。
戻り値のタイプ
String
TRUE 指定したテーブルがジオデータベースに登録されていて履歴管理が有効である場合は、 が返されます。
FALSE 指定したテーブルがジオデータベースに登録されているが履歴管理が有効でない場合は、 が返されます。
NOT REGISTERED 指定したテーブルがジオデータベースに登録されていない、データベースに存在しない、またはテーブルにアクセスできない場合は、 が返されます。
例
以下に、サポートされるそれぞれのデータベース タイプで 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')
NOT REGISTERED
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