Для чтения данных из таблиц и классов объектов (собирательно называемых наборами данных) в многопользовательской базе геоданных можно использовать встроенный SQL вашей системы управления базами данных (СУБД). SQL можно использовать также для вставки, удаления и обновления значений в простых наборах данных, хранящихся в вашей многопользовательской базе геоданных.
Применяя SQL к набору данных базы геоданных, вы запрашиваете данные из базовой (или бизнес) таблицы. Если набор данных, в котором выполняется запрос, удовлетворяет следующим критериям, запроса в базовой таблице достаточно для просмотра данных, и вы можете обновлять данные, вставлять и удалять записи базовой таблицы с помощью SQL:
- Набор данных не участвует в такой функциональности базы геоданных, как аннотация, репликация, сети, наборы данных участков, классы отношений, наборы схематических данных, подтипы, домены, наборы данных terrain и топология.
- Набор данных не зарегистрирован как версионный.
- Для этого набора данных архивирование не включено.
- Набор данных не содержит столбец данных типа двоичной геометрии (binary geometry) или ArcSDE XML.
В приведенных ниже разделах разделах описано, что следует сделать, если набор данных не соответствует этим критериям.
Если набор данных участвует в функциональности базы геоданных
Если данные, к которым вы хотите получить доступ, участвуют в функциональности базы геоданных, необходимо составить запрос, включающий в себя нужные связанные таблицы, и соединить их с помощью соответствующих столбцов для просмотра информации в связанных таблицах.
Определить, участвует ли набор данных в функциональности базы геоданных, можно с помощью функции Is_Simple. Если функция Is_Simple возвращает Ложь (False), вы можете применить к набору данных операторы SQL SELECT, но не редактируйте его с помощью SQL.
Если набор данных зарегистрирован как версионный
Если набор данных зарегистрирован как версионный, можно использовать версионное представление для запроса и просмотра данных в базовой таблице и таблицах добавлений и удалений и не писать сложные операторы JOIN. Версионные виды создаются при регистрации набора данных как версионного.
Если вы хотите отредактировать версионный набор данных с помощью SQL, его необходимо редактировать в версионном представлении. Это внесет изменения в таблицы добавлений и удалений и заполнит поле ObjectID при вставке записей.
Определить, зарегистрирован ли ваш набор данных в качестве версионного традиционных версий, можно с помощью функции Is_Versioned Если он зарегистрирован как версионный, воспользуйтесь функцией Version_View_Name для определения имени версионного представления.
Если ваши данные зарегистрированы, как версионные данные ветви, не редактируйте их с помощью SQL.
Если набор данных не зарегистрирован как версионный, но доступен для архивирования
Если набор данных не зарегистрирован как версионный традиционных версий, но доступен для архивирования, при включенном архивировании создается архивное представление.
Если вы хотите отредактировать с помощью SQL неверсионный набор данных, который доступен для архивирования, его необходимо редактировать в архивном представлении. При этом будут автоматически обновлены поля, отслеживающие, когда обновляется объект или запись, а также поле Object ID.
Если функция Is_Versioned возвращает False, и вы уверены в том, что набор данных не зарегистрирован, как участник версии ветви, воспользуйтесь функцией Is_Archive_Enabled для определения того, включено ли для вашего набора данных архивирование. Если он доступен для архивирования, используйте функцию Archive_View_Name, чтобы узнать имя архивного представления для редактирования набора данных с помощью SQL.
Если набор данных содержит столбец двоичной геометрии или XML ArcSDE
Если в данных, к которым вы хотите получить доступ, используется двоичное представление геометрии или XML ArcSDE, необходимо составить запрос, включающий в себя требуемые связанные таблицы, и соединить их с помощью соответствующих столбцов для просмотра информации в связанных таблицах.
Не используйте SQL для редактирования наборов данных, которые содержат столбцы данных типа двоичной геометрии или XML ArcSDE.