ITPub博客

首页 > 数据库 > Oracle > oracle rowid 的含义

oracle rowid 的含义

原创 Oracle 作者:531968912 时间:2016-09-18 17:18:00 0 删除 编辑
02:23:38 scott@prod> select rowid,deptno,dname,loc from dept;


ROWID                     DEPTNO DNAME          LOC
------------------ ------------- -------------- -------------
AAAVRCAAEAAAACHAAA            10 ACCOUNTING     NEW YORK
AAAVRCAAEAAAACHAAB            20 RESEARCH       DALLAS
AAAVRCAAEAAAACHAAC            30 SALES          CHICAGO
AAAVRCAAEAAAACHAAD            40 OPERATIONS     BOSTON




AAAVRC AAE AAAACH AAD
这个是64进制的数
object_id AAAVRC  10进制=21*64^2+17*64^1+2*64^0=86016+1088+2=86106
file#     AAE     10进制=4
block#    AAAACH  10进制=2*64^1+7=135
row       AAD     10进制=3


我们也可以使用oracle提供的dbms_rowid的包来进行查询
select dbms_rowid.rowid_object('AAAVRCAAEAAAACHAAD') data_object_id#,
       dbms_rowid.rowid_relative_fno('AAAVRCAAEAAAACHAAD') rfile#,
       dbms_rowid.rowid_block_number('AAAVRCAAEAAAACHAAD') block#,
       dbms_rowid.rowid_row_number('AAAVRCAAEAAAACHAAD') row# from dual;
DATA_OBJECT_ID#        RFILE#        BLOCK#          ROW#
--------------- ------------- ------------- -------------
          87106             4           135             3

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25462274/viewspace-2125106/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-09-24

  • 博文量
    576
  • 访问量
    1111411