Oracle11g 新特性 虚拟列

定义一个虚拟列的语法:  
  
    column_name [datatype] [GENERATED ALWAYS] AS [expression] [VIRTUAL]  
  
1.虚拟列可以用在select,update,delete语句的where条件中,但是不能用于DML语句  
2.可以基于虚拟列来做分区  
3. 可以在虚拟列上建索引,oracle的函数索引就类似。  
4. 可以在虚拟列上建约束  
  
创建一个带虚拟列的表:  
  
--创建学生表
Create Table Student(
  std_no varchar(10),
  std_name varchar(20),
  std_age int,
  std_sex char(1),
  std_score number,
  std_level number as (std_score - 60));

std_level 就是虚拟列。


增加虚拟列的语法:

Alter Table tablename Add(std_level As (std_score - 60));

你可能感兴趣的:(Oracle11g 新特性 虚拟列)