比较简单的方法是ROWID最后一位的字母越靠前,ROWID就越小。因此,最先插入的记录的ROWID最后一位是A,然后依次是B、C、D……
复杂一点的方法,可以ORACLE自带的DBMS_ROWID包,用法如下:
SQL> select dbms_rowid.rowid_row_number(rowid) N,rowid,t.empno from EMP_TEMP t;
N ROWID EMPNO
---------- ------------------ ----------
0 AAAXriAAEAAAAGzAAA 7369
1 AAAXriAAEAAAAGzAAB 7499
2 AAAXriAAEAAAAGzAAC 7521
3 AAAXriAAEAAAAGzAAD 7566
4 AAAXriAAEAAAAGzAAE 7654
5 AAAXriAAEAAAAGzAAF 7698
6 AAAXriAAEAAAAGzAAG 7782
7 AAAXriAAEAAAAGzAAH 7788
8 AAAXriAAEAAAAGzAAI 7839
9 AAAXriAAEAAAAGzAAJ 7844
10 AAAXriAAEAAAAGzAAK 7876
11 AAAXriAAEAAAAGzAAL 7900
12 AAAXriAAEAAAAGzAAM 7902
13 AAAXriAAEAAAAGzAAN 7934
dbms_rowid.rowid_row_number(rowid)的作用就是解析出ROWID的行号。