oracle数据库rowid是什么,oracle数据库rowid和rownum的区别以及用法-Oracle
《一》rowid和rownum的区别
rowid是一条记录的物理地址,rownum是查询结果集的序号
rowid是不会变的,rownum对于不同条件查询时是可以变化的
《二》oracle 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;
返回结果为:
rowid row_id
AAAO0DAAJAAAAMYAAA AAAO0DAAJAAAAMYAAA
Oracle的物理扩展ROWID有18位,每位采用64位编码,分别用A~Z、a~z、0~9、+、/共64个字符表示。A表示0,B表示1,……Z表示25,a表示26,……z表示51,0表示52,……,9表示61,+表示62,/表示63。
ROWID具体划分可以分为4部分。
(1).OOOOOO:前6位表示DATA OBJECT NUMBER,将起转化位数字后匹配DBA_OBJECTS中的DATA_OBJECT_ID,可以确定表信息。
如上面例子中的DATA OBJECT NUMBER是AAAO0D,转化位数字是14×64×64 +52×64 + 3。
输入以下查询:
select owner, object_name from dba_objects where data_object_id = 14*64*64 + 52*64 + 3;
返回:
OWNER OBJECT_NAME
WG TEST_ROWID
(2)FFF:第7到9位表示相对表空间的数据文件号。
上面的例子中是AAJ,表示数据文件9。
输入以下查询:
(3).BBBBBB:第10到15位表示这条记录在数据文件中的第几个BLOCK中。
上面的例子是AAAAMY,转化位数字是12×64+24,表示这条记录在数据文件中的第792个BLOCK。
(4).RRR:最后3位表示这条记录是BLOCK中的第几条记录。
上面的例子是AAA,表示第0条记录(总是从0开始计数)。
oracle数据库rowid是什么,oracle数据库rowid和rownum的区别以及用法-Oracle相关推荐
- mysql支持非关系_说下oracle、mysql、非关系型数据库中的索引结构?
谢邀~~树懒君悉心整理了一篇索引结构方面的内容,跟各位知友分享分享~ Oracle 索引的数据结构:B-TreeOracle 数据库使用 B-trees 存储索引,来加速数据访问.若没有索引,你必须顺 ...
- Oracle 9i 10g编程艺术-深入数据库体系结构——第11章:索引
第11章 索引 索引是应用设计和开发的一个重要方面.如果有太多的索引,DML的性能就会受到影响.如果索引太少,又会影响查询(包括插入.更新和删除)的性能.要找 ...
- Oracle 9i 10g编程艺术-深入数据库体系结构——第6章:锁
第6章 锁 开发多用户.数据库驱动的应用时,最大的难点之一是:一方面要力争取得最大限度的并发访问,与此同时还要确保每个用户能以一致的方式读取和修改数据.为此就 ...
- ORACLE分页 两种分页方法和ROWID用法
一 原因一 oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列 测试表 CREATE TABLE A ( AID NUMBER(20) primary key, ANAM ...
- oracle scn与数据恢复,SCN与数据库恢复的关系
一.SCN与CHECKPOINT CKPT进程在checkpoint发生时,将当时的SCN号写入数据文件头和控制文件,同时通知DBWR进程将数据块写到数据文件. CKPT进程也会在控制文件中记录RBA ...
- hana sql mysql oracle,从oracle dba的角度看HANA数据库
就想从oracle dba的角度来谈谈我对HANA数据库的看法. 作为一个oracle的dba我对oracle的产品有一定的了解,但是HANA我是刚学,有什么不对的地方,大家可以指出来. 下面开始: ...
- Oracle回应用户锁定,自治数据库是更好选择
自治数据库是近年来Oracle比较大的创新,根据Oracle自己的描述:自治式数据库云采用了机器学习技术实现了自动化,因而不再需要人力的介入,从根本上消除了人为差错,也不再需要手工进行微调.修补.更新 ...
- 《oracle大型数据库系统在AIX/unix上的实战详解》讨论31: oracle、sybase 数据库的不同访问...
<Oracle大型数据库系统在AIX/UNIX上的实战详解> 讨论31: oracle.sybase 数据库的不同访问方式 文平. 用户来信要求更细节比较一下Oracle和sybas ...
- centos sqldeveloper 连接mysql,Oracle SQL Developer 连接 Mysql 等数据库
Oracle SQL Developer 个人感觉是比较好用的工具,因此除了连接oracle之外,还可以连接其他的数据库,如:MySQL,Access等.但是,它默认情况下只能连接Oracle和Acc ...
最新文章
- Linux C编程之二:Linux基础
- 2013秋东北计算机在线作业,2013秋奥鹏东北师范大学计算机应用基础第三次在线作业及答案.doc...
- 关于在HP-UX 11iV2系统中安装oracle10g的问题--请大神帮忙!!!
- 随机生成图像 与 图像的转维(reshape)
- hdu 2454 Degree Sequence of Graph G(可简单图化判定)
- android启动页面显示空白,android – 启动时的空白页面
- 今天看到{飞鸽传书2009}
- 飞秋2010下载又用什么样的技术
- python数据可视化的特点_python的数据分析到底是啥?python数据可视化怎么做?
- C++ #include iostream #include iostream.h #include string.h区别及作用
- [转]flash在C#中的应用
- 合成孔径雷达算法与实现_典型线面目标合成孔径雷达参数化成像
- python arp 网关_python arp欺骗伪造网关代码详解
- web前端之Vue——子组件的详解
- 实验吧CTF密码学Writeup
- Cannot create PoolableConnectionFactory (Communications link failure due to unde
- R语言学习笔记:主成分分析及因子分析
- shell习题-27
- Superset系列6-制作折线图
- java 设计连连看_如何用JAVA 编写一个连连看游戏全程设计