在ORACLE数据库中什么叫伪列

在ORACLE数据库中什么叫伪列,第1张

伪列的数据是由ORACLE进行维护和管理的,用户不能对这个列修改,只能查看。

所有的伪列要得到值必须要显式的指定。

最常用的两个伪列:rownum和rowid。

1、

ROWNUM(行号):是在查询 *** 作时由ORACLE为每一行记录自动生成的一个编号

每一次查询ROWNUM都会重新生成。(查询的结果中Oracle给你增加的一个编号,根据结果来重新生成)

rownum永远按照默认的顺序生成。(不受order by的影响)

rownum只能使用 <、 <= ,不能使用 >、>= 符号,原因是:Oracle是基于行的数据库,行号永远是从1开始,即必须有第一行,才有第二行。

2、

ROWID(记录编号):是表的伪列,是用来唯一标识表中的一条记录,并且间接给出了表行的物理位置,定位表行最快的方式。

主键:标识唯一的一条业务数据的标识。主键是给业务给用户用的。不是给数据库用的。

记录编号rowid:标识唯一的一条数据的。主要是给数据库用的。类似UUID。

数据库术语,指的是在物理上这个列并不存在,只是在查询时才构造出来。伪列通常是自由分配的,用户无法执行修改等 *** 作。比如Oracle中的RowID字段,使用RowID可以快速地定位到某个对应的数据,因为它标记了记录所对应的物理地址,是唯一的。

不是实际表中的列,比如

select rownum,rowid from dual

dual是表名,只有dummy一列,

rownum和rowid就是虚拟列(也叫“伪列")

rownum表示数据序号

rowid是oracle行位置的唯一编号


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6748255.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存