Rowid „minimalny” prawdopodobnie nie zawsze podaj pierwszy wstawiony wiersz z tabeli. Cytując z dokumentacji :
„i tak dalej” wskazuje, że istnieje wiele przyczyn, które mogłyby spowodować zmianę awanturnika. Można to łatwo zademonstrować na małym przykładzie:
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
Zauważysz, że po alter table
operacji zmienił się jedyny wiersz.
Jeśli wiersz może się zmienić, a Oracle nie gwarantuje wyraźnie, że „najniższy” wiersz będzie zawsze pierwszym wstawianym wierszem, w razie potrzeby powinieneś mieć inny sposób śledzenia tego. Znacznik czasu lub sekwencja inkrementacji byłyby normalne.
To musi być dość nietypowe wymaganie, aby znaleźć pierwszy wstawiony wiersz bez odniesienia do jakichkolwiek danych. Jeśli zastanawiasz się nad tym, aby skorzystać z tej opcji, ponownie przyjrzę się dlaczego musisz to zrobić.