| mihail_13 |
|---|
javajdbc,
К сожаление длинна может колебаться от нескольких байт до сотен килобайт, а если массив куда я считываю окажется короче, данных будут неприятность. Есть ли возможность дважды пройти по списку полученных результатов не повторяя запрос к базе? |
после запроса -- это как позволит драйвер, для второго
прохода данные придется закешировать... где-то...
где-то может быть
-- Ци-програма которая считала ресулт_сет в массив
-- драйвер позволит повторный проход но должен кешшировать сам
-- создать временую таблицу в СКЛ-е, записать туда результат,
потом запросить размер результат и только потом
запросить записи и временой таблицы
-- в Оракле есть WITH который построит результат
в памяти и к нему можно обрашатся несколько раз в том-же СКЛе,
типа;
with (очень долгий селект) abc
select sum(ocret_length(blob_col)) from abc
union
select blob_col from abc
типа получить размер в первой строчке.
Ну тип данных надо синхронизировать для юниона,
КАСТ или КОНВЕРТ какой-нубидь...