ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用dbms_rowid包获得ROWID的详细信息

使用dbms_rowid包获得ROWID的详细信息

原创 Linux操作系统 作者:keeptrying 时间:2012-05-16 11:24:34 0 删除 编辑

定义自定义函数get_rowid获得rowid的详细信息。

 

SYS@ tsid > create or replace function get_rowid

  2  (l_rowid in varchar2)

  3  return varchar2

  4  is

  5  ls_my_rowid varchar2(200);

  6  rowid_type number;

  7  object_number number;

  8  relative_fno number;

  9  block_number number;

 10  row_number number;

 11  begin

 12  dbms_rowid.rowid_info(l_rowid,rowid_type,object_number,relative_fno,block_number,row_number);

 13  ls_my_rowid :='Object# is      :'||to_char(object_number)||chr(10)||

 14  'Relative_fno is :'||to_char(relative_fno)||chr(10)||

 15  'Block number is :'||to_char(block_number)||chr(10)||

 16  'Row number is   :'||to_char(row_number);

 17  return ls_my_rowid;

 18  end;

 19  /

 

Function created.

 

 

SYS@ tsid > select rowid,id,name from t where id=1;

 

ROWID                      ID NAME

------------------ ---------- --------

AAADJrAAEAAAAAPAAA          1 a

 

SYS@ tsid > select get_rowid('AAADJrAAEAAAAAPAAA') row_id from dual;

 

ROW_ID

--------------------------------------------------------------------

Object# is      :12907

Relative_fno is :4

Block number is :15

Row number is   :0

 

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

下一篇: Oracle ROWID概述
请登录后发表评论 登录
全部评论

注册时间:2011-04-25

  • 博文量
    130
  • 访问量
    941346