《一》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相关推荐

  1. mysql支持非关系_说下oracle、mysql、非关系型数据库中的索引结构?

    谢邀~~树懒君悉心整理了一篇索引结构方面的内容,跟各位知友分享分享~ Oracle 索引的数据结构:B-TreeOracle 数据库使用 B-trees 存储索引,来加速数据访问.若没有索引,你必须顺 ...

  2. Oracle 9i 10g编程艺术-深入数据库体系结构——第11章:索引

    第11章                      索引 索引是应用设计和开发的一个重要方面.如果有太多的索引,DML的性能就会受到影响.如果索引太少,又会影响查询(包括插入.更新和删除)的性能.要找 ...

  3. Oracle 9i 10g编程艺术-深入数据库体系结构——第6章:锁

    第6章                      锁 开发多用户.数据库驱动的应用时,最大的难点之一是:一方面要力争取得最大限度的并发访问,与此同时还要确保每个用户能以一致的方式读取和修改数据.为此就 ...

  4. ORACLE分页 两种分页方法和ROWID用法

    一 原因一 oracle默认为每个表生成rowmun,rowid字段,这些字段我们称之为伪列 测试表 CREATE TABLE A ( AID NUMBER(20) primary key, ANAM ...

  5. oracle scn与数据恢复,SCN与数据库恢复的关系

    一.SCN与CHECKPOINT CKPT进程在checkpoint发生时,将当时的SCN号写入数据文件头和控制文件,同时通知DBWR进程将数据块写到数据文件. CKPT进程也会在控制文件中记录RBA ...

  6. hana sql mysql oracle,从oracle dba的角度看HANA数据库

    就想从oracle dba的角度来谈谈我对HANA数据库的看法. 作为一个oracle的dba我对oracle的产品有一定的了解,但是HANA我是刚学,有什么不对的地方,大家可以指出来. 下面开始: ...

  7. Oracle回应用户锁定,自治数据库是更好选择

    自治数据库是近年来Oracle比较大的创新,根据Oracle自己的描述:自治式数据库云采用了机器学习技术实现了自动化,因而不再需要人力的介入,从根本上消除了人为差错,也不再需要手工进行微调.修补.更新 ...

  8. 《oracle大型数据库系统在AIX/unix上的实战详解》讨论31: oracle、sybase 数据库的不同访问...

    <Oracle大型数据库系统在AIX/UNIX上的实战详解> 讨论31:  oracle.sybase 数据库的不同访问方式   文平. 用户来信要求更细节比较一下Oracle和sybas ...

  9. centos sqldeveloper 连接mysql,Oracle SQL Developer 连接 Mysql 等数据库

    Oracle SQL Developer 个人感觉是比较好用的工具,因此除了连接oracle之外,还可以连接其他的数据库,如:MySQL,Access等.但是,它默认情况下只能连接Oracle和Acc ...

最新文章

  1. Linux C编程之二:Linux基础
  2. 2013秋东北计算机在线作业,2013秋奥鹏东北师范大学计算机应用基础第三次在线作业及答案.doc...
  3. 关于在HP-UX 11iV2系统中安装oracle10g的问题--请大神帮忙!!!
  4. 随机生成图像 与 图像的转维(reshape)
  5. hdu 2454 Degree Sequence of Graph G(可简单图化判定)
  6. android启动页面显示空白,android – 启动时的空白页面
  7. 今天看到{飞鸽传书2009}
  8. 飞秋2010下载又用什么样的技术
  9. python数据可视化的特点_python的数据分析到底是啥?python数据可视化怎么做?
  10. C++ #include iostream #include iostream.h #include string.h区别及作用
  11. [转]flash在C#中的应用
  12. 合成孔径雷达算法与实现_典型线面目标合成孔径雷达参数化成像
  13. python arp 网关_python arp欺骗伪造网关代码详解
  14. web前端之Vue——子组件的详解
  15. 实验吧CTF密码学Writeup
  16. Cannot create PoolableConnectionFactory (Communications link failure due to unde
  17. R语言学习笔记:主成分分析及因子分析
  18. shell习题-27
  19. Superset系列6-制作折线图
  20. java 设计连连看_如何用JAVA 编写一个连连看游戏全程设计

热门文章

  1. 考研英语词汇文章6-The young police chief
  2. 【单片机】74hc245引脚图应用电路及中文资料
  3. NOIP学习之综合应用:177.八进制到十进制
  4. 哈工大计算机学院博士补助,哈尔滨工业大学关于博士生学制和第五年级博士生助研津贴管理工作的规定...
  5. GB18030文件下载链接
  6. 软件工程复试——五、总体设计
  7. Navicat 设计表自增从 1 开始
  8. 2023年北京化工大学自动控制原理考研上岸前辈备考经验指导
  9. 制作球形状3D全景图
  10. 从一个git仓库迁移到另外一个git仓库