同一个表中的记录rowid是不是一定是递增的? 同一个表中的记录rowid是不是一定是递增的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是的, 这是我的测试结果, 分两批插入数据, 每次24条, 下面AAARDaAAFAAAADgAAA 先插入的第一条数据的rowidAAARDaAAFAAAADeAAA 后插入的第一条数据的rowid 总体情况是这样,但不是全部是这样,这是oracle公司自己的说法 确切的说,当你是全新的数据库时,ROWID是递增的而当一旦有了删除动作,ROWID就不会全是递增的 这个问题,我也遇到过,当出现删除数据的时候,就不会是递增的。ROWID是一种物理地址的标识,我想应该与oracle内部的存储机制有很大的关系 我只知道rowID不是重复的,基本没有用过那个字段,哪个大侠知道有什么用吗?? select rowid from emp;和 select rowid from person;这两个的ROWID号是一样的 不知道LZ明白了嘛? Rowid :1.唯一标识表的一个列(但不唯一标识数据库的列,比如不同表的不同列可能有相同的Rowid)2.通过Rowid是最快的方式来访问一个列3.Rowid的类型是Rowid或URowid,但它不是实际储存在数据库中的,所以你不能update, delete,insert它4.当你在某些情况下重新插入或删除数据时,Rowid是会变化的,所以它是不可靠的,不应用它作为 主键或者其他什么操作 14楼对ROWID的表述有问题 :1)rowid不是用来唯一标识表中的列的。它是用来唯一标识表中的数据行(即记录)。2)rowid的值是全库唯一的,是由:表空间标识+文件标识+对象标识+行标识 四部分组成的。 你把你查询的结果再SELECT rowid,...FORM SUBQUERY 看到的ROWID就不是很乱的物理地址。 不是的,rowid可以可以转换为一个物理存储上的物理地址。可以参考这个blog文http://www.inthirties.com/?p=543所以这里不见得是递增的。有可能以前的空block被重新写入新数据。 数据库转换 case when 在线急等 DBLINK连接报错,密码问题? 各位大侠帮忙看看下面oracle代码哪错了啊,总说带有编译错误 请教number类型自动截取的问题 请问如何做一个对账号访问数据库时间的限制? 一个用户在另一个用户下创建表的 权限问题 redhat as 4.0下的oracle9.2.0.4,发现在点用内存很多,有什么办法降低内存占用 怎样在Oracle中用一个用户访问其它用户的表? 为什么我用ResultSet的getRow()方法时总是返回0??? 连续创建2个表的问题 oracle 有没有一个函数能根据字段的值获取它的数据类型?
AAARDaAAFAAAADgAAA 先插入的第一条数据的rowid
AAARDaAAFAAAADeAAA 后插入的第一条数据的rowid
而当一旦有了删除动作,ROWID就不会全是递增的
和 select rowid from person;这两个的ROWID号是一样的 不知道LZ明白了嘛?
1.唯一标识表的一个列(但不唯一标识数据库的列,比如不同表的不同列可能有相同的Rowid)
2.通过Rowid是最快的方式来访问一个列
3.Rowid的类型是Rowid或URowid,但它不是实际储存在数据库中的,所以你不能update,
delete,insert它
4.当你在某些情况下重新插入或删除数据时,Rowid是会变化的,所以它是不可靠的,不应用它作为
主键或者其他什么操作
2)rowid的值是全库唯一的,是由:表空间标识+文件标识+对象标识+行标识 四部分组成的。
不是的,rowid可以可以转换为一个物理存储上的物理地址。可以参考这个blog文
http://www.inthirties.com/?p=543所以这里不见得是递增的。有可能以前的空block被重新写入新数据。