powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / rownum in Oracle vs Db2
18 сообщений из 18, страница 1 из 1
rownum in Oracle vs Db2
    #33743462
gelort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
Есть аналог rownum в DB2 rownum, что бы можно выполнить такой запрос "select * from table_1 where rownum < 10" как в Oracle
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33743474
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в LUW нету - точно.
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33743502
gelort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему именно в LUW, если другая платформа то все круто? Или я чего то не понимаю в этом db2?
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33743524
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DB2 for LUW:

1.
Код: plaintext
1.
2.
3.
4.
5.
6.
select *
from
(
select rownumber() over() rn, t.*
from table_1 t
) t
where rn< 10 ;

2.
Код: plaintext
1.
2.
select * 
from table_1 
fetch first  9  rows only;

DB2 for iSeries:
Код: plaintext
1.
2.
select *
from table_1 t
where rrn(t)< 10 ;
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33743542
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В z/OS есть, но смысл там не такой как в оракле.
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33743556
gelort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь! Вот никак не могу я обуздать Db2, с другими базами как то полегче... :) Еще раз спасибо за ответы!!!!
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33743729
New Guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
You can use FETCH FIRST 10 ROWS ONLY - it works for LUW and z/OS

LUW
http://publib.boulder.ibm.com/infocenter/db2luw/v8//topic/com.ibm.db2.udb.doc/admin/r0000875.htm

z/OS http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db2.doc.sqlref/bjnrmstr351.htm?resultof=%22%46%45%54%43%48%22%20%22%66%65%74%63%68%22%20%22%46%49%52%53%54%22%20%22%66%69%72%73%74%22%20
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33744108
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein
DB2 for iSeries:
Код: plaintext
1.
2.
select *
from table_1 t
where rrn(t)< 10 ;


По-моему, этот запрос выдаст совсем не то что ожидает автор топика?
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33744203
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rimanПо-моему, этот запрос выдаст совсем не то что ожидает автор топика?

Да, согласен.
В iSeries то, что выдает rrn() , не всегда нумеруется строго последовательно.
При удалениях из таблицы могут встречаться дыры в нумерации.
Я, к сожалению, не знаком с функцией rownum.
Я правильно понимаю, что эта функция выдает некий внутренний номер строки в таблице, причем строки там всегда нумеруются с 1 без пропусков?
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33744325
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если поискать по этому форуму можно найти примера на С функции counter() или ctr() которые работают через scratchpad и если они работают в unfenced режиме то производительность чуть-ли не на порядок выше чем rownumber() over() rn
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33746736
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinsteinфункцией rownum.
Я правильно понимаю, что эта функция выдает некий внутренний номер строки в таблице, причем строки там всегда нумеруются с 1 без пропусков?
да, это псевдостолбец. Тупо номерует строки в селекте.
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33747481
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ищите по форуму.
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33747572
lazy-beaver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein rimanПо-моему, этот запрос выдаст совсем не то что ожидает автор топика?

Да, согласен.
В iSeries то, что выдает rrn() , не всегда нумеруется строго последовательно.
При удалениях из таблицы могут встречаться дыры в нумерации.
Я, к сожалению, не знаком с функцией rownum.
Я правильно понимаю, что эта функция выдает некий внутренний номер строки в таблице, причем строки там всегда нумеруются с 1 без пропусков?

кроме того, если у файла атрибут REUSEDLT(*YES) - то вновь вставленная строка получит rrn уже удаленной -)

Serge Reva
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33749819
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RRN() на AS/400 - это аналог оракловского ROWID за тем исключением, что поиск по нему не работает так быстро, как можно было бы ожидать. Даёт фул скан :(
Может пофиксят ещё в будующих версиях - ведь что может быть проще, чем вытащить строку, если известен её адрес.
Код: plaintext
1.
2.
--
Антон
Per rectum ad astrum
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33750398
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Даёт фул скан
Было б удивительно если было б по-другому...
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33752691
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman>> Даёт фул скан
Было б удивительно если было б по-другому...
благодарю за удовольствие удивить тебя - в Оракле - по другому.
Для Оракла это самый быстрый метод доступа (по ROWID)
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33752746
ппм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дык как-бы немного разные платформы...
Самое чуть-чуть...
...
Рейтинг: 0 / 0
rownum in Oracle vs Db2
    #33752776
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппмдык как-бы немного разные платформы...
Самое чуть-чуть...
Разные принципы:
У Оракла - ROWID (полный адрес строки в виде object#|file#|block#|slot#)
У DB2 - помножим номер строки на фиксированную длину строки и получим необходимое смещение.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / rownum in Oracle vs Db2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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