Поиск по блогу

четверг, 26 марта 2015 г.

Выполнение нескольких запросов к БД одним объектом Запрос

Допустим, разработчику требуется  выполнить несколько запросов к базе данных. Для этого он создает несколько объектов Запрос, указывает текст запроса и выполняет запрос, все просто и банально, но можно обойтись одним объектом Запрос. В этом случае требуется объединить тексты запросов в один запрос, используя пакеты запросов, и выполнить его.

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Банки.Наименование
|ИЗ
| Справочник.Банки КАК Банки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Валюты.Наименование
|ИЗ
| Справочник.Валюты КАК Валюты";

МассивРезультатов = Запрос.ВыполнитьПакет();

Для Каждого Результат Из МассивРезультатов Цикл

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
         
КонецЦикла;


Метод ВыполнитьПакет у объекта Запрос последовательно выполняет все запросы и возвращает массив результатов для каждого запроса из пакета. Результаты помещаются в массив в последовательности расположения запросов в тексте пакета.

Комментариев нет:

Отправить комментарий