Здравствуйте, ov, Вы писали:
ov>а как быть с более простыми базами, есть идеи?
Есть идея, как можно в firebird попытаться проэмулировать rownum. Можно попытаться использовать для этого последовательности, приблизительно так
create sequence temp_seq;
select gen_id(temp_seq,1) rownum from ....
Тут правда возникают другие проблемы, которые нужно ещё подумать как решить
1. недопущение использования одной последовательности в паралельных запросах
2. превышение максимального значения в последовательности (я не уверен, как оно устроено в firebird. вероятно, начнётся опять с нуля(?))