Войти

Показать полную графическую версию : Oracle и ROWNUM


For_Sites@twitter
06-07-2018, 10:06
Почитал в инете про ROWNUM, но ответа именно на мой вопрос не нашел.

Запрос:
select id from TABLE where id=1234 or id like '234%'
возвращает 11 строк, как и ожидается:
1234
2340
2341
...
2349
id - первичный ключ таблицы

а вот такой запрос возвращает всего 10 строк, исключая строку 1234:
select rownum as rnum, id from TABLE where id=1234 or id like '234%'
пытался даже вот так, все равно 10 строк, вместо ожидаемых 11:
select * from (
select id from TABLE where id=1234 or id like '234%'
) where rownum < 22


Куда пропадает 11 строка и почему? Цель, ограничить выборку если в ней более 22 строки
Oracle 12c Release 12.1.0.2.0 - 64bit

y--
08-07-2018, 20:38
Цель, ограничить выборку если в ней более 22 строки »TOP 22

For_Sites@twitter
09-07-2018, 13:54
TOP 22 »
разве в оракле есть такое? в любом случае, поменять запрос не моге, я лишь описал его цель. мой вопрос, почему он не работает, и проглатывает 1 строку в выборке?

y--
09-07-2018, 19:34
For_Sites@twitter,
а - ну если понять почему не работает то все уже встречалось здесь (http://www.sql.ru/faq/faq_topic.aspx?fid=171)
Только непонятен смысл понимания, если править ничего нельзя...

For_Sites@twitter
13-07-2018, 13:39
y--,
приведенная статья не мой случай.
запрос поменять не могу, но если это зависит от настройки параметров(или режимов) БД - то я могу попросить админов исправить.
Но скорее всего я склоняюсь что это баг релиза Оракла, и лечится установкой патча. Быстро поставить его не смогут, к сожалению

rivera
14-02-2019, 19:05
ответа ни от какой команды поддержки получить не удалось. Оракл говорит ставьте последний патч, вендор приложение говорит, что они его не поддерживают. патовая ситуация.

Iska
14-02-2019, 19:50
Сочувствую. Типичное «К пуговицам претензии есть?»™ :(.




© OSzone.net 2001-2012