虚拟列
Oracle11g增加了表的虚拟列,这个列的数据并没有存储在数据文件中,而是放到了数据字典中。
例:
create table A_test (id number,t_date date,v_t_date date generated always as (trunc(t_date)) virtual);
或者现有表添加虚拟列
alter table a_test add v_t_date date generated always as (trunc(t_date)) virtual;
添加唯一约束
① 表内无重复数据的情况:
alter table a_test add constraint v_t_date_unique unique(v_t_date)
②表内有重复数据
create index idx_v_t_date on a_test(v_t_date);
alter table a_test add constraint v_t_date_unique unique(v_t_date) enable novalidate;