ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ROWID列

ROWID列

原创 Linux操作系统 作者:tolywang 时间:2011-02-21 17:56:47 0 删除 编辑


ROWID是一个伪列,该列的值并没有真正的保存在数据块中,但是可以查询并显示出来。

ROWID的格式 OOOOOOFFFBBBBBBRRR , OOOOOO表示行所在的对象号,FFF表示行所在文件号, BBBBBB表示该行所在的数据块号,RRR表示行在数据块中的行号,rowid采用64进制的18位字符来表示。

SQL> select  rowid , book_id  from  books ;

ROWID                 BOOK_ID
-----------------------------------------
AAAM0hAAEAAAAGnAAA          1

可以看出插入的记录的rowid为 [AAAM0h][AAE][AAAAGn][AAA]

我们可以通过dbms_rowid包来验证:

select dbms_rowid.rowid_relative_fno('AAAM0hAAEAAAAGnAAA') as 'File No' from dual;
select dbms_rowid.rowid_block_number('AAAM0hAAEAAAAGnAAA') as 'File No' from dual;
select dbms_rowid.rowid_row_number('AAAM0hAAEAAAAGnAAA') as 'File No' from dual;
select dbms_rowid.rowid_relative_fno('AAAM0hAAEAAAAGnAAA') as 'File No' from dual;

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

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13775972