不是实际表中的列,比如
select rownum,rowid from dual
dual是表名,只有dummy一列,
rownum和rowid就是虚拟列(也叫“伪列")
rownum表示数据序号
rowid是oracle行位置的唯一编号
Oracle 11g 的新特性 —— 虚拟列
在老的 Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引。
现在 Oracle 11g 允许我们直接在表上使用虚拟列来存储表达式。
虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的。
我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列:
我们只能使用物理列来插入数据。然后可以查询虚拟列的值:表达式是在查询的时候即时计算的.
索引和约束同样可以应用在虚拟列上。我们也可以为虚拟列创建外键。