oracle为每个表的每一条记录都赋予了一个唯一的标识号rowid
它是伪列,在定义表结构时并不声明它,但是系统自动建立.
用desc查看的表结构的时候见看不到该字段.
用rowid来进行update,delete等操作时速度最快.
而且oracle7和oracle8及以后版的rowid不同:oracle 7 的rowid由三部分组成:
block.row.file
BBBBBBBB.RRRR.FFFF
文件块号.块中的行号.文件的绝对号oracle 8 8i 9i的rowid由四部分组成:
OOOOOOFFFBBBBBBRRR
OOOOOO:数据对象号,表示数据库段的编号
FFF表在空间中的相对文件号
BBBBBB:在一个文件中的块号
RRR块中行的位置号
select rowid from tablename;
rowid数据类型的使用:
rowidtochar:把rowid转换成char类型.select rowidtochar(a.rowid) from testa a where rownum<=1
AABj3OAEoAAAHpjAAAselect chartorowid('AABj3OAEoAAAHpjAAA') from dual
AABj3OAEoAAAHpjAAA
它是伪列,在定义表结构时并不声明它,但是系统自动建立.
用desc查看的表结构的时候见看不到该字段.
用rowid来进行update,delete等操作时速度最快.
而且oracle7和oracle8及以后版的rowid不同:oracle 7 的rowid由三部分组成:
block.row.file
BBBBBBBB.RRRR.FFFF
文件块号.块中的行号.文件的绝对号oracle 8 8i 9i的rowid由四部分组成:
OOOOOOFFFBBBBBBRRR
OOOOOO:数据对象号,表示数据库段的编号
FFF表在空间中的相对文件号
BBBBBB:在一个文件中的块号
RRR块中行的位置号
select rowid from tablename;
rowid数据类型的使用:
rowidtochar:把rowid转换成char类型.select rowidtochar(a.rowid) from testa a where rownum<=1
AABj3OAEoAAAHpjAAAselect chartorowid('AABj3OAEoAAAHpjAAA') from dual
AABj3OAEoAAAHpjAAA
解决方案 »
- 大容量数据存储
- distinct 和 group by 在查询多列数据去重复时的区别在哪?
- 各位同行前辈,帮忙看一下这个sql怎么处理。
- 已经enable的主键,在indextable查询不到。
- ——————超级头痛的聚合函数问题,前辈们赐教了,谢谢
- 启动OracleOraHome90ManagementServer时出现问题:
- oracle的udump目录下生成很大体积的文件,怎么回事?
- PL/SQL 替换字符串的问题
- oracle9i可以安装在xp Professional版本什么吗?应该注意些什么?
- 关于oracle management server的启动问题与TNSListener冲突
- 触发器能否触发一个存储过程
- 请问一下 Oracle ERP 是什么东西? 谁有没有网址,或介绍啊
1-6位:代表OBJECT
7-9位:文件相对值
10-15:文件中的BLOCK
16-18:BLOCK中的SLOT值