搜索墙首页  编程技术  java  asp  ajax  php  c/c#/c++  数据库  oracle  mysql  db2  操作系统  windows  linux  股吧
首页 > 编程 > 数据库 > oracle
 1         
1楼  chenyuming2004 2007-08-13 22:11:03

有ROWID等于下面值,
AAAMlrAAIAAAAEkAAS
AAAMlrAAIAAAAEyAAS
AAAMlrAAIAAAAEcAAS
AAAMlrAAIAAAAEjAAS

照理说,这几个ROWID不一样,
dbms_rowid.rowid_row_number(rowid)
函数返回值也不一样,但事实上这几个ROWID
都返回18.

使得我想使用   dbms_rowid.rowid_row_number(rowid)
来唯一定位计划落空了.


哪位高人给解释一下原理.
2楼  mantisXF 2007-08-13 22:19:19

rowid中的ROW   NUMBER,指的是该记录是其所在数据块(通常8K字节)中的第几条记录.
这个函数返回的是记录在数据块中的相对位置.不会是连续值.
如果删除过数据的话,很可能出现   1   3   4   5   这种情况.
3楼  chenyuming2004 2007-08-14 23:02:45

mantisXF(枫の叶)   (   )   信誉:100     2007-8-13   22:19:20     得分:   0    
 
 
     
rowid中的ROW   NUMBER,指的是该记录是其所在数据块(通常8K字节)中的第几条记录.
这个函数返回的是记录在数据块中的相对位置.不会是连续值.
如果删除过数据的话,很可能出现   1   3   4   5   这种情况.

   
 


也就是说在不同的数据块中,ROW   NUMBER   相同是正常的了?
4楼  liuyi8903 2007-08-15 19:59:18

首先你要搞清楚rowid是由什么组成的.多少个字节.
你就明白了其中的问题.
 1         
您的发言将按有关规定都会存档,您须为所发表后果负责,请您遵纪守法并注意语言文明。
标题:请教一个ROWID问题
热门关注
标题回复点击
Oracle 10g (ASM):Sample Implementation0743
Oracle 正版用户授权0692
动态性能视图(Dynamic perfermance view V$)0686
EM 无法启动&&重新完全配置EM0560
小布老师Oracle 9i DBA Fundamentals II0345
ORA-1652: unable to extend temp segment诊断以及解决0308
缓冲处理器 buffer handle0275
locate pl/sql bottleneck0271
OracleDBConsole 服务因 2 (0x2) 服务性错误而停止。请问一下如何解决!2267
L1:Buffer Cache0264
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源