
所有的伪列要得到值必须要显式的指定。
最常用的两个伪列: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行位置的唯一编号
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)