Перебор таблицы DB2 по блокам без идентификатора строки - PullRequest
0 голосов
/ 24 мая 2019

Мы должны создать процесс в Spring Framework, который будет читать таблицу DB2 по блокам. Однако в этой таблице нет столбца с уникальным идентификатором, который мы можем использовать в качестве курсора, поэтому во втором блоке мы не знаем, с какой точки мы должны читать. В таблице есть эти столбцы:

BOOK_ID  SOLD_AT  QUANTITY

Первый - это внешний ключ к модели книги, второй - дата продажи книги, а третий - количество проданных книг.

Возможно ли сделать SELECT-упорядочение по rowId db2? К сожалению, это устаревший код, поэтому мы не можем создать дополнительный столбец для db2.

Заранее спасибо.

1 Ответ

1 голос
/ 24 мая 2019

Попробуйте это:

select hex(rowid) rowid, t.name, t.creator
from (
select t.*, rid_bit(t) rowid 
from sysibm.systables t
) t 
order by rowid
fetch first 10 row only;

rid_bit (table-designator) значение для строки может измениться при физическом перемещении строки (например, reorg, старая строка удалена, новая строкавставляется в то же физическое место и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...