教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · Oracle教程 · Oracle综合技巧

灵活运用dbms_rowid包获得rowid地详细信息

学院最新推荐文章
教程推荐
『灵活运用dbms_rowid包获得rowid地详细信息』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-8-12 

我们知道,Rowid中包含了记录的详细信息,通过dbms_rowid包可以很轻松地获得这些信息.本文将通过一个自定义函数详细介绍这个package的使用。

create or replace function get_rowid

(l_rowid in varchar2)

return varchar2

is

ls_my_rowid  varchar2(200);          

rowid_type  number;          

object_number  number;          

relative_fno  number;          

block_number  number;          

row_number  number;  

begin

dbms_rowid.rowid_info(l_rowid,rowid_type,

object_number,relative_fno, block_number, row_number);          

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

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

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

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

return ls_my_rowid ;

end;          

/

其它的用法:

[oracle@jumper tools]$ sqlplus scott/tiger



SQL*Plus: Release 9.2.0.4.0 - Production on Sun Nov 7 12:30:19 2004



Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.





Connected to:

Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production

With the Partitioning option

JServer Release 9.2.0.4.0 - Production



SQL> set echo on

SQL> @f_get_rowid

SQL> 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.



SQL> 

SQL> select * from dept;



    DEPTNO DNAME          LOC

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

10 ACCOUNTING     NEW YORK

20 RESEARCH       DALLAS

30 SALES          CHICAGO

40 OPERATIONS     BOSTON



SQL> select rowid,a.* from dept a;



ROWID                  DEPTNO DNAME          LOC

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

AAABiPAABAAAFRSAAA         10 ACCOUNTING     NEW YORK

AAABiPAABAAAFRSAAB         20 RESEARCH       DALLAS

AAABiPAABAAAFRSAAC         30 SALES          CHICAGO

AAABiPAABAAAFRSAAD         40 OPERATIONS     BOSTON





SQL> col row_id for a60

SQL> select get_rowid('AAABiPAABAAAFRSAAA') row_id from dual;



ROW_ID

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

Object# is      :6287

Relative_fno is :1

Block number is :21586

Row number is   :0





SQL> select get_rowid('AAABiPAABAAAFRSAAB') row_id from dual;



ROW_ID

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

Object# is      :6287

Relative_fno is :1

Block number is :21586

Row number is   :1

SQL>




作者:无 来源:无
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - Oracle综合技巧
普通教程Oracle 11g R1中大小写敏感地口
普通教程SQL Server与Oracle数据库在安全
普通教程Oracle 11g R1中AWR基线增强(1)
普通教程Oracle学习地一些建议
普通教程一步完成封装编译
普通教程Oracle Warehouse Builder 自动
普通教程Oracle 11gR1中表压缩增强
普通教程Oracle只希望红帽存在 其余Linu
普通教程Oracle中SQL语句执行效率地查询
普通教程Oracle 11gR1中地表空间加密
普通教程Oracle Wait Event:Data file i
普通教程Oracle 11gR1中地SecureFile(1)
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光