Предварительное условие:
Атрибут Query (Запрос) представляет собой атрибут, значения которого возвращаются с помощью запроса. Настройка параметров атрибута схемы Query заключается в задании этого запроса.
Атрибуты Query могут быть настроены в классах объектов схемы или в шаблонах схематического представления. Если атрибут Query применяется к классу объектов схемы, а нужное вам поле возвращается пользовательским запросом, настроенным в этом классе объектов схемы, или поступает из самого класса объектов схемы, создавать атрибуты Query не требуется. Решением в этом случае будет настройка атрибута Field. То же самое можно сказать и об атрибуте Query, который применяется к шаблону схематического представления. Определение атрибута Query имеет смысл, только если входящее в запрос поле не возвращается запросом, настроенным в шаблоне схематического представления, ни в поле самого шаблона схематического представления. В представленной далее пошаговой инструкции поясняется, как настроить запрос для этого типа атрибутов.
Для создания самого атрибута схемы необходимо начать с шагов, указанных в разделах Создание атрибутов класса объектов схемы или Создание атрибутов в шаблоне схематического представления, а затем на шаге 6 задания типа 4 атрибута нужно выбрать Query. Далее описываются конкретные способы настройки атрибута Query, которые могут быть нужны на шаге 7 в данных разделах.
Если в качестве типа (Type) нового атрибута схемы выбрать Query (Запрос), появляется следующая вкладка Свойства (Properties):
В ней следует настроить запрашиваемое поле, значения которого будут определены в качестве значений атрибута:
- При работе с версионными данными в случае необходимости запросить другую таблицу на основе одинаковых версий для каждого загружаемого объекта проверьте поле Use Associated Feature Data Source (Использовать источник данных связанного объекта).
В нем будет использоваться версия, аналогичная версии связанных объектов, полученных в результате выполнения запроса. В предыдущей версии такой возможности не было, запрос всегда выполнялся относительно версии по умолчанию.
- Нажмите OK.
- Нажмите кнопку Edit Query/Identifier (Редактировать запрос/идентификатор).
Откроется диалоговое окно Query/Identifier Editor (Редактор Запроса/Идентификатора):
- В раскрывающемся списке Data Source (Источник данных) (1) щелкните выбранный источник данных.
- В списке Таблицы щелкните таблицу, с которой будет работать запрос.
Содержимое выбранной таблицы автоматически показывается в области справа:
- В области Query (Запрос) наберите код SQL запроса.
Поскольку атрибут запроса должен возвращать одиночное значение для любого объекта схемы или схематического представления, относящегося к классу объекта схемы или шаблону схематического представления, для которого определен этот атрибут, запрос часто нуждается в параметрах. Область Parameters (Параметры) автоматически выводится на экран при нажатии кнопки ‘?’ клавиатуры в поле параметра. Если в своем SQL-запросе вы ссылаетесь на новый параметр, в столбце Name (Имя) этой области появляется новая запись, соответствующая новому элементу.
- В раскрывающемся списке Name (Имя), выводимом в разделе Parameters (Параметры), выберите существующие атрибуты класса объекта схемы или шаблона схематического представления, которые будут использоваться в качестве параметров запроса.
- В поле Is Text (Текстовый) укажите тип значения параметра (флажок установлен, если параметр возвращает текстовые значения, и снят, если типы значений другие).
- Перед тем, как нажать кнопку Show Results (Показать результаты) и проверить результат запроса, в поле Test Value (Тестовое значение) определите тестовое значение.
- Чтобы проверить возвращенный запросом результат, нажмите кнопку Show Results (Показать результаты).
- В раскрывающемся списке Идентификатор (Identifier) щелкните поле, которое будет возвращать значения атрибута.
- Щелкните OK для проверки и остановите определение атрибута запроса.
Код SQL автоматически выдается в поле области Query (Запрос), из которой открывается Query/Identifier Editor (Редактор запроса/идентификатора).
Для задания конечной точки созданного атрибута схемы Query установите параметры, доступные в разделах Storage Mode (Режим хранения) и Evaluation Mode (Режим оценки), как указано в шагах от 8 до 11 в разделах Создание атрибутов класса объектов схемы или Создание атрибутов в шаблоне схематического представления.