Шаблон выполнения произвольного кода SQL - Продукт Modus BI
Произвольный код SQL
Шаблон «Произвольный код SQL» позволяет написать SQL-код для выгрузки данных из базы SQL. Шаблон может быть без предыдущего шага, поскольку исходные данные будут загружаться из таблиц, указанных в произвольном коде.
Предусмотрен выбор типа запроса в форме «Произвольный запрос SQL» из выпадающего списка «Тип»: выборка данных SELECT («SEL»), выполнение набора команд («EXEC») или подзапрос («Вложенный запрос»):
Тип запроса «EXEC»
Если выбран тип запроса «EXEC», то в произвольный код можно внести набор инструкций, разделенных точкой с запятой — все они по очереди будут выполнены. Здесь также могут быть инструкции, которые не приводят к генерации таблиц данных. Например, это операции создания макета таблицы (CREATE TABLE
), очистки (TRUNCATE
) и т.д..
Также возможно использование транзакций и скриптов на процедурном языке SQL. В данном типе запроса шаг может передавать только поток управления, данные передавать не получится.
Тип запроса «SEL»
Тип запроса «SEL» подходит, если код генерирует на выходе таблицу с данными, и тогда их можно посмотреть в результате работы шага и передать в следующий шаг. Например, в шаг «Перенос данных». В этом случае внизу формы есть вкладка «Дополнительно». Внутри вкладки «Дополнительно» перейдите на вкладку «Структура данных», где можно перенастроить поля таблицы. Для этого нажмите на кнопку «Заполнить», что позволит заполнить поля результирующей таблицы.
После заполнения структуры данных, нажмите на кнопку «Записать и закрыть».
Далее возможно данный шаг соединить с другим шагом, например, с произвольной выборкой. Настройка шагов сценария представлена в разделе «Шаги сценария (старый интерфейс)».
Тип запроса «Вложенный запрос»
Тип запроса «Вложенный запрос» полезен, если надо сгенерировать таблицу данных, и передать эти данные как вложенный запрос на следующий шаг, сделанный также в шаблоне «Произвольный код SQL». В настройке следующего шаге кнопка «Вложенные запросы» откроет диалоговое окно с наименованием шага предыдущего вложенного запроса. Двойной щелчок по наименованию внесёт имя данных вложенного запроса в текущий запрос.
Кнопка «Вложенный запрос» работает аналогичным образом, когда перед шагом «Произвольный код SQL» есть другой шаг типа «Произвольная выборка», «Группировка» и т.д. В этом случае кнопка «Вложенные запросы» открывает диалоговое окно «Доступные шаги сценария» с данными «входящей» таблицы (рисунок ниже). Двойной щелчок мыши по названиям её полей или самой таблицы добавляет фрагмент кода (с именем поля / таблицы соответственно) в запрос.