定义
使用 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) 上运行。
在第二个示例中,此函数在已启用存档功能的表 (birds) 上运行。
在第三个示例中,此函数在未注册到地理数据库的表 (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