定義
指定したテーブルで履歴管理が有効であるかどうかを判定するには、Is_Archive_Enabled 関数を使用します。履歴管理が有効である場合は Is_Archive_Enabled が TRUE を返し、有効でない場合は FALSE を返します。テーブルがジオデータベースに登録されていない場合、Is_Archive_Enabled は NOT REGISTERED を返します。Is_Archvie_Enabled はテーブルの有無をジオデータベースのシステム テーブルのみで確認するため、テーブルがデータベースに存在しない場合 (たとえば、名前を間違えて入力した場合)、テーブルが登録されていないことを示すメッセージが返されることに注意してください。
構文
<geodatabase administrator schema>.is_archive_enabled(<table owner>, <table name>)
戻り値のタイプ
文字列
TRUE 指定したテーブルがジオデータベースに登録されていて履歴管理が有効である場合は、 が返されます。
FALSE 指定したテーブルがジオデータベースに登録されているが履歴管理が有効でない場合は、 が返されます。
NOT REGISTERED 指定したテーブルがジオデータベースに登録されていない、データベースに存在しない、またはテーブルにアクセスできない場合は、 が返されます。
例
次の例は、サポートされている各データベース管理システムで Is_Archive_Enabled 関数を使用する方法を示しています。
最初の例では、履歴管理が有効でないテーブル (trees) に対して関数を実行します。
2 番目の例では、履歴管理が有効なテーブル (birds) に対して関数を実行します。
3 番目の例では、ジオデータベースに登録されていないテーブル (sales) に対して関数を実行します。
DB2
例 1
VALUES sde.IS_ARCHIVE_ENABLED('LOGIN1', 'TREES')
FALSE
例 2
VALUES sde.is_archive_enabled('LOGIN1', 'BIRDS')
TRUE
例 3
VALUES sde.is_archive_enabled('LOGIN5', 'SALES')
NOT REGISTERED
Informix
例 1
EXECUTE FUNCTION sde.is_archive_enabled('login1', 'trees');
FALSE
例 2
EXECUTE FUNCTION sde.is_archive_enabled('login1', 'birds');
TRUE
例 3
EXECUTE FUNCTION sde.is_archive_enabled('login5', 'sales');
NOT REGISTERED
Oracle
例 1
SELECT sde.gdb_util.IS_ARCHIVE_ENABLED('LOGIN1', 'TREES') FROM DUAL;
SDE.GDB_UTIL.IS_ARCHIVE_ENABLED('LOGIN1', 'TREES') ---------------------------------------------------------
FALSE
例 2
SELECT sde.gdb_util.IS_ARCHIVE_ENABLED('LOGIN1', 'BIRDS') FROM DUAL;
SDE.GDB_UTIL.IS_ARCHIVE_ENABLED('LOGIN1', 'BIRDS') ---------------------------------------------------------
TRUE
例 3
SELECT sde.gdb_util.IS_ARCHIVE_ENABLED('LOGIN5', 'SALES') FROM DUAL;
SDE.GDB_UTIL.IS_ARCHIVE_ENABLED('LOGIN5', 'SALES') ---------------------------------------------------------
NOT REGISTERED
PostgreSQL
例 1
SELECT sde.is_archive_enabled('login1', 'trees');
FALSE
例 2
SELECT sde.is_archive_enabled('login1', 'birds');
TRUE
例 3
SELECT sde.is_archive_enabled('login5', 'sales');
NOT REGISTERED
SQL Server
例 1
DECLARE @owner varchar(128) = 'login1';
DECLARE @table varchar(128) = 'trees';
SELECT dbo.is_archive_enabled(@owner, @table) "Enabled for archiving?"
Enabled for archiving?
FALSE
例 2
DECLARE @owner varchar(128) = 'login1';
DECLARE @table varchar(128) = 'birds';
SELECT dbo.is_archive_enabled(@owner, @table) "Enabled for archiving?"
Enabled for archiving?
TRUE
例 3
DECLARE @owner varchar(128) = 'login5';
DECLARE @table varchar(128) = 'sales';
SELECT dbo.is_archive_enabled(@owner, @table) "Enabled for archiving?"
Enabled for archiving?
NOT REGISTERED