Is_Versioned
Определение
Is_Versioned получает таблицу в качестве входного параметра и возвращает TRUE, если таблица зарегистрирована как версионная. Если таблица не зарегистрирована как версионная, Is_Versioned возвращает значение FALSE. Если таблица не зарегистрирована в базе геоданных, будет возвращено сообщение об этом. Вы также получите сообщение о том, что таблица не зарегистрирована в базе геоданных, если вы предоставите имя таблицы, не существующей в базе данных (например, если вы неправильно ввели ее название), поскольку функция Is_Versioned проверяет только наличие или отсутствие таблицы в системной таблице TABLE_REGISTRY.
Синтаксис
<geodatabase administrator schema>.is_versioned (<table owner>, <table name>)
В большинстве баз геоданных для схемы администратора базы геоданных используется sde. Однако для баз геоданных с dbo-схемой в SQL Server это dbo, а для баз геоданных с пользовательской схемой в Oracle - это имя пользовательской схемы.
Тип возврата
Строка
Примеры
Следующие примеры демонстрируют использование функции Is_Versioned для каждого поддерживаемого типа базы данных.
Первый пример выполняет запрос к таблице laterals, владельцем которой является tech3, чтобы определить, является ли таблица версионной.
Второй пример выполняет запрос к таблице crews, владельцем которой является crewboss, чтобы определить, является ли таблица версионной. Таблица Crews не является версионной; поэтому возвращается значение FALSE.
Третий пример выполняет запрос к таблице service_areas, владельцем которой является dentry. Таблица 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