Выполнить запрос Версия 10 (Java)
Группа действий: Базы данных
Описание
Выполняет запрос на получение данных из таблицы.
Иконка действия
Параметры
Входные параметры
Контекст БД – Контекст подключения к выбранной базе данных.
Шаблон запроса – Текст запроса, который будет выполняться.
Список параметров – Параметры, которые будут подставляться в шаблон запроса.
С заголовком – Логическая переменная, если значение которой «true», строка с заголовком таблицы будет выделена отдельно и не будет входить в строки с содержимым таблицы.
Убрать дубли заголовка – Логическая переменная, если значении которой «true», в заголовке табличного значения, которое действия возвращают как результат, к одинаковым названиям столбцов будут добавлены индексы.
Выходные параметры
В результате получаем результирующую таблицу работы запроса
Настройки
Свойство | Описание | Тип | Пример заполнения | Обязательность заполнения поля |
Параметры | ||||
Контекст БД | Контекст подключения к выбранной базе данных | Robin.DbContext | Контекст баз данных | Да |
Шаблон запроса | Шаблон запроса | Robin.String | Да | |
Список параметров | Коллекция значений параметров для подстановки в запрос | Robin.Collection | Нет | |
С заголовком | Если значение «true», строка с заголовком таблицы будет выделена отдельно и не будет входить в строки с содержимым таблицы. | Robin.Boolean | true | Нет |
Убрать дубли заголовка | При значении «true», в заголовке табличного значения, которое действия возвращают как результат, к одинаковым названиям столбцов будут добавлены индексы. Нумерация начинается с 1. | Robin.Boolean | true | Нет |
Результаты | ||||
Результат | Результат выполнения запроса в виде таблицы. Если результатом является выборка данных, то результирующая таблица с данной выборкой данных. Если результатом является число затронутых строк, то результирующая таблица имеет один столбец „update_count“ и одну строку, содержащаю число затронутых строк. | Robin.DataTable |
Особые условия использования
Для чекбокса "Rename duplicate headers":
- Есть таблица:
При "Rename duplicate headers" = true, и "With header" = True, действие "Execute Sql Statement" вернет таблицу из 4х строк и 5 столбцов. Названия столбцов этой таблицы будут:
"Тест31", "Тест21", "Тест22", "Тест32", "Тест1".
- При значении "false", названия столбцов останутся прежними. Действия на net, которые возвращают\обрабатывают такие таблицы с задублированными названиями столбцов, будут падать с ошибкой, т.к. в net не может быть заголовка с одинаковыми названиями столбцов.
- Например, в исходной таблице есть столбцы "Test1", "Test" и "Test". Если добавлять индексы только к текущим дублям, то названия станут такими "Test1", "Test1" и "Test2", т.е. в итоге появятся новые дубли с названием "Test1". Поэтому действие при переименовании конкретного столбца должно проверять, нет ли уже такого названия у другого столбца и при наличии таких совпадений проставлять у текущего столбца следующий по счету индекс. Т.е. в данном случае действие переименует столбцы как "Test1", "Test2" и "Test3".
Пример использования
Задача
Cделать запрос к базе данных и сохранить результат в таблицу CSV. Запросить имя разработчика с ID=1.
Решение
Воспользоваться действиями "Connect Standard Db", "Execute Sql Statement", "Table to CSV".
Реализация
Собрать схему робота, состоящую из действий:
Настроить параметры для действия "Стандартное подключение".
Настроить параметры для действия "Выполнить запрос". В поле "Контекст БД" указать контекст подключения к базе данных. В поле "Шаблон запроса" указать SQL выражение (запрашиваем имя разработчика с ID=1). Оно может содержать знаки вопросов, как в данном случае. И тогда должно быть заполнено поле "Список параметров".
Эти параметры будут подставлены вместо знаков вопросов. В полях указываются следующие данные:
name - наименование столбца
- DBName - наименование базы данных
- dbo - не изменяется
- TableName - наименов таблицы в базе данных
Заполненный пример:
При поставлении чекбокса "With header":
Чекбокс "With header" не проставлен:- Настроить параметры для действия "Сохранить таблицу в CSV".
- Запустить робота по кнопке "Старт" в верхней панели.
Результат
Программный робот отработал успешно.
Данные из базы получены и записаны в таблицу CSV.