oracle为每个表的每一条记录都赋予了一个唯一的标识号rowid
它是伪列,在定义表结构时并不声明它,但是系统自动建立.
用desc查看的表结构的时候见看不到该字段.
用rowid来进行update,delete等操作时速度最快.
而且oracle7和oracle8及以后版的rowid不同:
oracle7的rowid由三部分组成:
block.row.file
BBBBBBBB.RRRR.FFFF
文件块号.块中的行号.文件的绝对号
oracle8、8i、9i的rowid由四部分组成:
OOOOOOFFFBBBBBBRRR
OOOOOO:数据对象号,表示数据库段的编号
FFF表在空间中的相对文件号
BBBBBB:在一个文件中的块号
RRR块中行的位置号
rowid数据类型的使用:
rowidtochar(rowid):把rowid转换成char类型.
chartorowid(char):把转char换成rowid类型.
select rowidtochar(rowid) from test
AABj3OAEoAAAHpjAAA
select chartorowid('AABj3OAEoAAAHpjAAA') from test
AABj3OAEoAAAHpjAAA
select fieldName from test where rowid='AABj3OAEoAAAHpjAAA'
试验:select rowidtochar(rowid) as rowid from test
发现添加别名后执行出错,不解?原来是因为使用了关键字为别名,OMG!
改为:select rowidtochar(rowid) as rid from test
分享到:
相关推荐
oracle rowid rownum 等组成原理
mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句
基于Oracle RowID实现批量数据的分页下载.pdf
Oracle数据库rowid深入探析.pdf
Oracle学习笔记(rownum和rowid),有具体的代码案例讲解rownum和rowid
oracle 数据库 rowid与rownum的使用
总结一下几种查找和删除重复记录的方法,适用于有大量重复记录的情况
利用rowid快速在线更新海量数据 利用rowid快速在线更新海量数据
oracle error invalid rowid
举例介绍在oracle中rownum和rowId的不同以及使用方法
本文主要是以实例形式介绍了Oracle查询中rownum与rowid的不同之处,以及以假设的方式为例,查询条件为rownum = 2,在查询出第一条记录时的具体内容的介绍。 在查询中,我们可以注意到,类似于 select xx from ...
oracle_SQL中rowid与rownum的使用
oracle_SQL中ROWID与ROWNUM的使用 很有用哦
1.2.1.9 ORACLE ROWID ........31 1.2.1.10 选择性..................31 1.2.1.11 群集因子(Clustering Factor) ..............31 1.2.1.12 二元高度(Binary height)....................31 1.2.1.13 ...
ROWID是ORACLE中的一个重要的概念。用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。ROWID它是一个伪列,它并不实际存在于表中。它是ORACLE在读取表中...
1.2.1.9 ORACLE ROWID ....................................................................... 1.2.1.10 选择性 ................................................................................. 1.2.1.11 ...
oracle_SQL中 rowid 和rownum的使用
对一个大表进行UPDATE,DELETE,如果在一个SESSION里面运行SQL,很容易引发undo不够, 或者由于一些原因,导致回滚,这个是灾难