rowid 简单理解理解

在数据库中的每一行都有一个地址。然而,一些表行的地址不是物理或永久的,或者不是ORACLE数据库生成的。
例如,索引组织表行地址存储在索引的叶子,可以移动。
例如,外部表的ROWID(如通过网关访问DB2表)不是​​标准的ORACLE的rowid。
ORACLE使用通用的ROWID(UROWIDs)的存储地址的索引组织表和外表。索引组织表有逻辑urowids的,和国外表的外urowids,。UROWID这两种类型的存储在ROWID伪(堆组织的表的物理行id)。
创建基于逻辑的rowid在表中的主键。逻辑的rowid不会改变,只要主键不改变。索引组织表的ROWID伪UROWID数据类型。你可以访问这个伪列,你会堆组织表的ROWID伪(即使用一个SELECT ...ROWID语句)。如果你想存储的rowid索引组织表,那么你就可以定义一列的表型UROWID到列检索值的ROWID伪。

ROWID 解释

数据对象编号        文件编号        块编号           行编号
rowid 简单理解理解_第1张图片

rowid 简单理解理解_第2张图片


Select ename,dbms_rowid.ROWID_OBJECT(ROWID) obj#,dbms_rowid.ROWID_RELATIVE_FNO(ROWID) file#,dbms_rowid.rowid_BLOCK_NUMBER(rowid) block#,dbms_rowid.ROWID_ROW_NUMBER(ROWID) ROW# from scott.emp;
rowid 简单理解理解_第3张图片

验证上图:

rowid 简单理解理解_第4张图片rowid 简单理解理解_第5张图片

你可能感兴趣的:(ORACLE,oracle,数据)