Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / rownum in Oracle vs Db2 / 18 сообщений из 18, страница 1 из 1
22.05.2006, 17:54
    #33743462
gelort
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
Привет всем!
Есть аналог rownum в DB2 rownum, что бы можно выполнить такой запрос "select * from table_1 where rownum < 10" как в Oracle
...
Рейтинг: 0 / 0
22.05.2006, 17:58
    #33743474
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
в LUW нету - точно.
...
Рейтинг: 0 / 0
22.05.2006, 18:09
    #33743502
gelort
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
Почему именно в LUW, если другая платформа то все круто? Или я чего то не понимаю в этом db2?
...
Рейтинг: 0 / 0
22.05.2006, 18:17
    #33743524
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
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
22.05.2006, 18:24
    #33743542
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
В z/OS есть, но смысл там не такой как в оракле.
...
Рейтинг: 0 / 0
22.05.2006, 18:27
    #33743556
gelort
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
Спасибо за помощь! Вот никак не могу я обуздать Db2, с другими базами как то полегче... :) Еще раз спасибо за ответы!!!!
...
Рейтинг: 0 / 0
22.05.2006, 20:04
    #33743729
New Guest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
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
23.05.2006, 08:24
    #33744108
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rownum in Oracle vs Db2
Mark Barinstein
DB2 for iSeries:
Код: plaintext
1.
2.
select *
from table_1 t
where rrn(t)< 10 ;


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

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

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

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

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


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