Определение
Is_Simple получает таблицу в качестве входного параметра и возвращает TRUE, если таблица не принимает участия в расширенном поведении базы геоданных (в этом случае таблица считается простой таблицей). Расширенное поведение базы геоданных включает следующее:
- Аннотация
- Вложения
- Измерения
- Отслеживание редактирования
- Геометрическая сеть
- Набор данных мозаики
- Набор сетевых данных
- Набор данных участков
- Каталог растров
- Набор растровых данных
- Класс отношений
- Набор схематических данных
- Набор данных Terrain
- Топология
Если выбранная таблица принимает участие в расширенной функциональности базы геоданных (и, соответственно, не является простой таблицей), Is_Simple возвращает FALSE. Если таблица не является простой, она не должна редактироваться вне ArcGIS.
Если указанная таблица не зарегистрирована в базе геоданных, Is_Simple возвращает NOT REGISTERED. В том случае, если таблица не существует в базе данных (например, если вы неправильно ввели ее название), будет возвращено сообщение, что таблица не зарегистрирована, поскольку функция Is_Simple проверяет только наличие или отсутствие таблицы в системных таблицах базы геоданных.
Синтаксис
<geodatabase administrator schema>.is_simple (<table owner>, <table name>)
В большинстве баз геоданных для схемы администратора базы геоданных используется sde. Однако для баз геоданных с dbo-схемой в SQL Server это dbo, а для баз геоданных с пользовательской схемой в Oracle – это имя пользовательской схемы.
Тип возвращаемого значения
Строковое
TRUE возвращается в случае, если указанная таблица зарегистрирована в базе геоданных и включена для архивирования.
FALSE возвращается в случае, если указанная таблица зарегистрирована в базе геоданных, но не включена для архивирования.
NOT REGISTERED возвращается в случае, если указанная таблица не зарегистрирована в базе геоданных, не существует в базе геоданных, или у вас нет доступа к таблице.
Примеры
Следующие примеры демонстрируют использование функции Is_Simple в базах данных, в которых это поддерживается.
В первом примере выполняется запрос к таблице gutters, принадлежащей пользователю pw, чтобы определить, является ли таблица простой. Поскольку таблица gutters участвует в геометрической сети и для нее была определена топология, функция Is_Simple вернет значение FALSE.
Во втором примере выполняется запрос к таблице surveypts, принадлежащей пользователю pw, чтобы определить, является ли таблица простой. Поскольку таблица surveypts не принимает участия ни в какой функциональности базы геоданных, функция Is_Simple возвращает значение TRUE.
В третьем примере выполняется запрос к таблице imports, принадлежащей пользователю mgrs. В этом случае таблица imports была создана с помощью приложения третьих лиц и не зарегистрирована в базе геоданных.
Db2
VALUES sde.is_simple('PW','GUTTERS')
FALSE
VALUES sde.is_simple('PW','SURVEYPTS')
TRUE
VALUES sde.is_simple('MGRS','IMPORTS')
NOT REGISTERED
Oracle
SELECT SDE.GDB_UTIL.Is_Simple('PW', 'GUTTERS') FROM DUAL;
SDE.GDB_UTIL.IS_SIMPLE('PW', 'GUTTERS') ---------------------------------------------------
FALSE
SELECT ENG.GDB_UTIL.Is_Simple('ENG', 'SURVEYPTS') FROM DUAL;
ENG.GDB_UTIL.IS_SIMPLE('PW', 'SURVEYPTS') ---------------------------------------------------
TRUE
SELECT SDE.GDB_UTIL.Is_Simple('MGRS', 'IMPORTS') FROM DUAL;
SDE.GDB_UTIL.IS_SIMPLE('MGRS', 'IMPORTS') ---------------------------------------------------
NOT REGISTERED
PostgreSQL
SELECT sde.is_simple('pw', 'gutters');
FALSE
SELECT sde.is_simple('pw', 'surveypts');
TRUE
SELECT sde.is_simple('mgrs', 'imports');
NOT REGISTERED
SQL Server
DECLARE @owner nvarchar(128) = 'pw';
DECLARE @table nvarchar(128) = 'gutters';
SELECT dbo.is_simple(@owner, @table) "Simple?"
Simple?
FALSE
DECLARE @owner nvarchar(128) = 'eng';
DECLARE @table nvarchar(128) = 'surveypts';
SELECT sde.is_simple(@owner, @table) "Simple?"
Simple?
TRUE
DECLARE @owner nvarchar(128) = 'mgrs';
DECLARE @table nvarchar(128) = 'imports';
SELECT sde.is_simple(@owner, @table) "Simple?"
Simple?
NOT REGISTERED