Il rowid "minimo" probabilmente no fornire sempre la prima riga inserita dalla tabella. Per citare da la documentazione :
Il "e così via" indica che ci sono molte ragioni che farebbero cambiare un rowid. Questo può essere facilmente dimostrato con un piccolo esempio:
create table tmp_test ( a number );
insert into tmp_test values (1);
select rowid, a from tmp_test;
ROWID A
------------------ ----------
AABo3AAFvAAAda6AAA 1
alter table tmp_test move;
select rowid, a from tmp_test;
ROWID A
------------------ ----------
AABo3BAFvAAAdbjAAA 1
Lo noterai dopo un alter table
operazione l'unico rowid è cambiato.
Se il rowid può cambiare e poiché Oracle non garantisce esplicitamente che il rowid "più basso" sarà sempre la prima riga inserita, dovresti avere un altro modo per tracciarlo, se necessario. Un timestamp o una sequenza di incremento sarebbe normale.
Deve essere un requisito piuttosto insolito trovare la prima riga inserita senza riferimento ad alcun dato. Se è qualcosa che stai pensando di usare, darò un'altra occhiata al perché devi farlo.