码迷,mamicode.com
首页 > 其他好文 > 详细

ROWID伪列

时间:2017-01-06 01:00:13      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:存在   概念   函数   ica   oracle   account   log   分享   sel   

ROWID伪列概念:

  在数据表中每一行所保存的记录,oracle会为每条记录分配一个唯一的地址编号,这个编号就是通过ROWID表示的。

  所有的数据都利用ROWID进行定位。

 

观察rowid的存在

 

SQL> select rowid,deptno,dname,loc from dept;

ROWID               DEPTNO DNAME         LOC
------------------ ---------- -------------- -------------
AAAR3vAAEAAAACHAAA       10 ACCOUNTING     NEW YORK
AAAR3vAAEAAAACHAAB       20 RESEARCH         DALLAS
AAAR3vAAEAAAACHAAC       30 SALES         CHICAGO
AAAR3vAAEAAAACHAAD       40 OPERATIONS     BOSTON

 

  以deptno为10的rowid为例:

  •   数据对象号:AAAR3v
  •   相对文件号:AAE
  •   数据块号:AAAACH
  •   数据行号: AAA

通过函数定位出rowid的映射位置:

  

select rowid,
       dbms_rowid.rowid_object(rowid) 数据对象号,
       dbms_rowid.rowid_relative_fno(rowid) 相对文件号,
       dbms_rowid.rowid_block_number(rowid) 数据块号,
       dbms_rowid.rowid_row_number(rowid) 数据行号,
       deptno,
       dname,
       loc
  from dept;

结果:

技术分享

 


 

ROWID伪列

标签:存在   概念   函数   ica   oracle   account   log   分享   sel   

原文地址:http://www.cnblogs.com/zydev/p/6254585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!