rowid的介绍
先对rowid有个感官认识:
SQL> select ROWID from test where rownum<2;
ROWID
------------------ ----------
AAABnlAAFAAAAAPAAA
ROWID的格式如下:
数据对象编号 文件编号 块编号 行编号
OOOOOO FFF BBBBBB RRR
我们可以看出,从上面的rowid可以得知:
AAABnl 是数据对象编号
AAF是相关文件编号
AAAAAP是块编号
AAA 是行编号
rowid在查询中,标识记录的唯一性,利用此特性,在Oracle中,可以利用如下语句删除重复的记录
Delete from test E where test.rowid >(select min(t.rowid) from test X where X.id=E.id )