Импорт из базы данных
Компонент предназначен для импорта набора данных из СУБД. Созданный на базе данного компонента узел позволяет импортировать таблицу или представление из базы данных, либо результаты выполнения заданного пользователем SQL-запроса.
В тексте SQL-запроса можно использовать Управляющие переменные в качестве параметров и макроподстановок, что позволяет динамически формировать запрос, отправляемый на сервер.
Важно: для работы узла требуется предварительно создать подключение к базе данных и связать его с входным портом Подключение. Пример подключения и работы с БД.
Порты
Входные порты
Подключение — принимает параметры подключения к базе данных;
Управляющие переменные — (необязательный порт) переменными можно задать значения параметров мастера настройки.
Выходные порты
Набор данных — таблица с импортированными данными.
Мастер настройки
Мастер настройки содержит следующие параметры:
- Подключение — отображает строку подключения к источнику данных. Не доступна для редактирования.
- Список Таблицы/Представления — в списке осуществляется выбор доступных для импорта таблиц и представлений источника данных. Для отображения списка должно быть активировано подключение с помощью кнопки Активировать.
/
— скрывает / показывает список Таблицы/Представления.
- Область выбора варианта извлечения данных из БД — содержит две вкладки:
- Таблица/Представление — извлечение заданных полей объекта БД. Для этого в списке Таблица/Представление необходимо отметить поля объекта БД, выбранного в списке Таблицы/Представления.
- SQL запрос — формирование результирующего набора данных SQL запросом. Для этого на вкладке SQL запрос задается текст запроса к базе данных. При формировании текста SQL запроса существует возможность использования значений переменных входного порта, что позволяет оптимизировать обработку запросов и более гибко настроить работу с базой данных.
Кнопка Предпросмотр… позволяет оценить корректность запроса, отображая до 100 первых строк результирующей таблицы.
Применение переменных в запросах
В SQL-запросах возможно использование переменных:
- в качестве параметра — в переменной задается определенное значение. В тексте запроса параметр записывается со знаком двоеточие, например
:var1
. При этом будет учитываться тип переменной, например строка будет обрамлена кавычками. Использовать параметры можно только в секции WHERE. - в качестве макроподстановки — в значении переменной указывается SQL-запрос или какая-то его часть. В тексте запроса ее необходимо обрамлять знаками процента, например
%condition%
.
Примечание: если конструкция подстановки заключена в кавычки, то в приоритете работают кавычки, а не подстановка.
SELECT * FROM %tables%
WHERE
%cond1% :TitlePart
AND Books.year > :MinYear
AND Publisher.Name LIKE '%Media%'
, где
имя переменной | тип | значение для примера |
---|---|---|
tables | строка | Books JOIN Publisher ON Books.PubId = Pub.Id |
cond1 | строка | title LIKE |
TitlePart | строка | Приключен% |
MinYear | целое | 2005 |
Media | строка | Астра-инфо |
Здесь '%Media%'
не является макроподстановкой, поэтому замена на значение переменной произведена не будет.
В результате будет сформирован следующий запрос:
SELECT * FROM Books JOIN Publisher ON Books.PubId = Pub.Id
WHERE
title LIKE 'Приключен%'
AND Books.year > 2005
AND Publisher.Name LIKE '%Media%'