Мне нужно запросить таблицу в базе данных по столбцу, который является VARCHAR2
. Мне нужно получить записи по частям, а не все за один раз. ROWNUM
используется для этой цели.
Запрос такой:
select * from SOMETABLE
where SOMECOLUMN > ?
and rownum <= 100
order by SOMECOLUMN
Этот запрос выполняется повторно путем изменения значения SOMECOLUMN
. Начнем с того, что этот запрос должен быть снабжен наименьшим значением VARCAHAR2
, чтобы я получил первые 100 записей (хотя и не в каком-то определенном порядке). В следующий раз используется значение SOMECOLUMN
в 100-й записи (для этого в запрос добавляется order by
), чтобы получить следующие 100 записей и так далее.
(Предположение: значения SOMECOLUMN
уникальны).
Каким может быть начальное наименьшее значение, подаваемое в этот запрос?
somecolumn
), и вы фиксируете эти изменения между запросами? - person Alex Poole   schedule 26.12.2013NLS
повлияют на порядок сортировки и, следовательно, на «самое низкое» значение. Индексируется лиsomecolumn
? Вы можете выбрать значениеmin()
и сравнить с ним? - person Alex Poole   schedule 26.12.2013SOMECOLUMN
это какая-то метка времени или что? Изменяется ли он для конкретной записи? Есть ли у вас какой-либо флаг или другой способ понять, что какая-то запись была обновлена с момента последнего запуска партии? - person Yaroslav Shabalin   schedule 29.12.2013