Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Чтение не всей выборки / 4 сообщений из 4, страница 1 из 1
12.10.2017, 13:21
    #39535341
Cheese)))
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение не всей выборки
Ситуация:
есть условно такая табличка:
count
1
3
3
2
5
...

и есть некий параметр, который нужно проверить превышает ли сумма count параметр или нет
самое простое естественно сделать в лоб
Код: plsql
1.
2.
3.
4.
select sum(count) into sum_count from table;

if sum_count >= param_sum_count then
  превысили


но записей много и хочется оптимизировать, мне нужно читать записи до тех пор пока sum(count) < param_sum_count и как только sum(count) >= param_sum_count, то прекратить читать.
Есть еще идея через bulk collect limit 1, но хотелось бы SQL обойтись если это возможно.
...
Рейтинг: 0 / 0
12.10.2017, 13:28
    #39535347
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение не всей выборки
Cheese))),

Если есть индекс - можно извратиться с rec with, но лучше пачками фетчить из курсора.
...
Рейтинг: 0 / 0
12.10.2017, 13:29
    #39535348
Cheese)))
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение не всей выборки
Есть индекс по полю которому ищу, но не по которому вычисляю.
Можно пример с rec with?
...
Рейтинг: 0 / 0
12.10.2017, 13:35
    #39535353
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение не всей выборки
Cheese))),

Писал тут 20541880 .
Часть 2.
Глава 1. When PL/SQL is better than Vanilla SQL.
Раздел Specifics of analytical functions
Подраздел Прерывание выборки.
стр. 117
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Чтение не всей выборки / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]