ROWID囊个提取信息
来源:互联网 发布:淘宝一件代销怎么发货 编辑:程序博客网 时间:2024/04/20 16:43
通常我们所说的rowid是扩展rowid,它占10个字节(80bit),通常rowid的表示是64进制的18个字符的字符串,这个字符串的具体含义如下:
AAASZF - AAE - AAAACH - AAA
对象号(6个字符) 相关文件号(3个字符) 块号(6个字符) 行号(3个字符)
SQL> conn scott/tiger
Connected.
SQL> select rowid,t.* from dept t;
ROWID DEPTNO DNAME LOC
------------------ ---------- -------------- -------------
AAASZFAAEAAAACHAAA 10 ACCOUNTING NEW YORK
AAASZFAAEAAAACHAAB 20 RESEARCH DALLAS
AAASZFAAEAAAACHAAC 30 SALES CHICAGO
AAASZFAAEAAAACHAAD 40 OPERATIONS BOSTON
如果你想要获取rowid的具体信息比如说文件号、块号等,可以使用Oracle提供的包 DBMS_ROWID,使用则个包,我做了一个简单的存储过程
SQL> create or replace procedure get_rowid(rid varchar2)
2 is
3 begin
4 for x in
5 ( select DBMS_ROWID.ROWID_OBJECT(rid) objno,
6 DBMS_ROWID.ROWID_RELATIVE_FNO(rid) rfno,
7 DBMS_ROWID.ROWID_BLOCK_NUMBER(rid) blockno,
8 DBMS_ROWID.ROWID_ROW_NUMBER(rid) rownumber
9 From dual
10 )
11
12 loop
13 dbms_output.put_line( 'Object No: ' || x.objno );
14 dbms_output.put_line( 'R Fno: ' || x.rfno );
15 dbms_output.put_line( 'Block Number: ' || x.blockno );
16 dbms_output.put_line( 'Row Number: ' || x.rownumber );
17 end loop;
18 end;
19 /
Procedure created.
SQL> set serveroutput on
SQL> exec get_rowid('AAASZFAAEAAAACHAAA');
Object No: 75333
R Fno: 4
Block Number: 135
Row Number: 0
PL/SQL procedure successfully completed.
- ROWID囊个提取信息
- 提取所有用户的第二个订单信息
- Rowid
- ROWID
- rowid
- ROWID
- ROWID
- ROWID
- ROWID
- rowid
- 信息标记与信息提取
- 提取网络接口信息
- 提取身份证信息
- EML提取主题信息
- 数据库之提取信息
- 数据库之提取信息
- 数据库之提取信息
- 信息提取小程序
- mysql grant 增加新用户
- 后台网站链接页的代码
- STL string常用的几个成员的用法
- 一个很搓很酱油的贪吃蛇
- 【五子棋AI】多线程——多线程PVS
- ROWID囊个提取信息
- 【数据库基础】Truncate和Delete
- LTE射频拉远单元数字中频方案(三)
- ServletContext,cookie,session的一些总结
- Oracle分页查询的三种方法
- 面试常见问题——估算运行时间
- 删除图片的代码
- 写代码过程中的抉择 - Java
- Oracle分区索引-本地索引和全局索引比较