知识大全 关于扩展(extended)的rowid的一些内容
Posted 文件
篇首语:我希望在颠沛流离之后,还能够重新遇见温暖的你,那时候,你刚好成熟,而我,刚好学会温柔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于扩展(extended)的rowid的一些内容相关的知识,希望对你有一定的参考价值。
rowid的介绍 先对rowid有个感官认识 SQL> select ROWID from Bruce_test where rownum< ; ROWID AAABnlAAFAAAAAPAAA ROWID的格式如下 数据对象编号 文件编号 块编号 行编号 OOOOOO FFF BBBBBB RRR 我们可以看出 从上面的rowid可以得知 AAABnl 是数据对象编号 AAF是相关文件编号 AAAAAP是块编号 AAA 是行编号 怎么依据这些编号得到具体的十进制的编码值呢 这是经常遇到的问题 这里需要明白rowid的是基于 位编码的 个字符显示(数据对象编号( ) +文件编号( ) +块编号( )+ 行编号( )= 位) 其中 A Z <==> ( ) a z <==> ( ) <==> ( ) +/ <==> ( ) 共 位 明白这个后 就可以计算出 进制的编码值 计算公式如下 d * (b ^ p) 其中 b就是基数 这里就是 p就是从右到左 已 开始的位置数 比如 上面的例子 文件号AAF 具体的计算应该是: *( ^ )= *( ^ )= *( ^ )= 文件号就是 + + = 刚才提到的是rowid的显示方式 基于 位编码的 个字符显示 其实rowid的存储方式是 个字节即 位存储 其中数据对象编号需要 位 相关文件编号需要 位 块编号需要 位行编号需要 位 由此 我们可以得出 bit的object number 每个数据库最多有 G个对象 bit的file number 每个对象最多有 个文件( 个文件预留) bit的block number 每个文件最多有 M个BLOCK bit的row number 每个BLOCK最多有 K个ROWS rowid相关的有用的sql 最简单的基于rowid的显示方式得到的响应的 位编码对应值的sql select rowid substr(rowid ) OBJECT substr(rowid ) FILE substr(rowid ) BLOCK substr(rowid ) ROW from TableName; OWID OBJECT FILE BLOCK ROW AAABc AADAAAGLUAAA AAABc AAD AAAGLU AAA AAABc AADAAAGLUAAB AAABc AAD AAAGLU AAB AAABc AADAAAGLUAAC AAABc AAD AAAGLU AAC AAABc AADAAAGLUAAD AAABc AAD AAAGLU AAD AAABc AADAAAGLUAAE AAABc AAD AAAGLU AAE 通过dbms_rowid这个包 可以直接的得到具体的rowid包含的信息 select dbms_rowid rowid_object(rowid) object_id dbms_rowid rowid_relative_fno(rowid) file_id dbms_rowid rowid_block_number(rowid) block_id dbms_rowid rowid_row_number(rowid) num from bruce_t where rownum< ; OBJECT_ID FILE_ID BLOCK_ID NUM 一些使用ROWID的函数 ROWIDTOCHAR(rowid) 将ROWID转换成STRING CHARTOROWID( rowid_string ) 将STRING转换成ROWID 另外 就是自己写的一些函数 (下面的函数是网友eygle提供) create or replace function get_rowid (l_rowid in varchar ) return varchar is ls_my_rowid varchar ( ); 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( )|| Relative_fno is : ||to_char(relative_fno)||chr( )|| Block number is : ||to_char(block_number)||chr( )|| Row number is : ||to_char(row_number); return ls_my_rowid ; end; / 应用上面的函数如下 SQL> select get_rowid(rowid) name from bruce_t; GET_ROWID(ROWID) NAME Object# is : BruceLau Relative_fno is : Block number is : Row number is : Object# is : MabelTang Relative_fno is : Block number is : Row number is : cha138/Article/program/Java/JSP/201311/19589相关参考
说说Oracle的rowid 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Oracle中ro
Oracle查询rownum和rowid的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在
ORACLE数据库中的ROWID 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我们可能对ora
知识大全 jQuery.extend()的实现方式详解及实例
jQuery.extend()的实现方式详解及实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!e
下列关于扩展基础说法中正确的是()。A.锥形基础边缘高度不宜小于200mmB.阶梯形基础的每阶高度宜为200—500mmC.扩展基础底板受力钢筋的最小直径不宜小于10mmD.扩展基础底板受力钢筋的间距
下列关于扩展基础说法中正确的是()。A.锥形基础边缘高度不宜小于200mmB.阶梯形基础的每阶高度宜为200—500mmC.扩展基础底板受力钢筋的最小直径不宜小于10mmD.扩展基础底板受力钢筋的间距
知识大全 Extended CHM PHP 语法手册之 DIY
ExtendedCHMPHP语法手册之DIY 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Ex
SQL2005CLR函数扩展-关于山寨索引 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文只是一
关于SQL访问注册表的扩展存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SQLServ
关于ASP.NET2.0编写扩展存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!