Rowid

来源:互联网 发布:数据可视化教程 网盘 编辑:程序博客网 时间:2024/05/01 20:48

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  )