Oracle数据库中rowid啥作用????!!!!!谢谢!!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库中rowid啥作用????!!!!!谢谢!!!!相关的知识,希望对你有一定的参考价值。

标识表中每条数据实际的物理地址。追问

用来干什么?

追答

可以用它来检索数据。
有时繁杂的数据检索时,普通检索条件不能达到要求,可以利用rowid来精确检索的结果。
一般在子查询的时候使用比较多。

参考技术A 。。 参考技术B ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置。
ROWID可以分为物理rowid和逻辑rowid两种。普通的堆表中的rowid是物理rowid,索引组织表(IOT)的rowid是逻辑rowid。oracle提供了一种urowid的数据类型,同时支持物理和逻辑rowid。
物理rowid又分为扩展rowid(extended rowid)和限制rowid(restricted rowid)两种格式。限制rowid主要是oracle7以前的rowid格式,现在已经不再使用,保留该类型只是为了兼容性。
1.创建一临时表
create table test_rowid (id number, row_id rowid);
2.插入一行记录
insert into test_rowid values(1,null);
3.修改刚插入的记录
update test_rowid set row_id = rowid where id = 1;
4.查看rowid
select rowid,row_id from test_rowid;

Oracle数据库的伪列

伪列Oracle 中伪列就像一个表列(表中的列),但是它并没有存储在表中,伪列可以从表中查询,但不能插入、更新和删除它们的值

 

常用的伪列有ROWID和ROWNUM。

 

ROWID的使用——快速删除重复的记录

解析:ROWID是数据的详细地址,通过rowidoracle可以快速的定位某行具体的数据的位置。

 

ROWID可以分为物理rowid和逻辑rowid两种。

普通的表中的rowid是物理rowid,索引组织表(IOT)rowid是逻辑rowid

当表中有大量重复数据时,可以使用ROWID快速删除重复的记录。

 

查询语句:

select rowid,rownum from  student

 

 

 

ROWNUM

ROWNUM 是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数

  通过测试可知,Rownum只能对=1<N进行筛选,如果>M不能筛选,如何规避。

通过子查询构建临时表,让伪列Rownun称为临时表中的列,然后限定条件使用伪列的

别名。

 

利用伪列查询伪列编号等于2的数据

 

select *from

 

(

 

select id,name,rownum rn from   student

 

) temp

 

where rn =2

 

利用伪列查询第4-6条数据

select *from

(

 select temp.*,rownum rn from 

 (

  select *from student

 ) temp

  where rownum<=6

)where rn>=4

 

以上是关于Oracle数据库中rowid啥作用????!!!!!谢谢!!!!的主要内容,如果未能解决你的问题,请参考以下文章

gp里用啥代替oracle里rownum,用啥代替rowid???

oracle里数据的抽出结果排序,第一次和第二次不一样,第二次以后保持不变,啥原因?

oracle中rowid怎么用?

Oracle ROWID具体解释

informix/oracle rowid 问题

oracle数据库:去除重复记录 rowid