欢迎光临
我们一直在努力

Oracle 虚拟列 子分区 virtual column partition

Oracle 11g 虚拟列子分区实验

以下两个create 语句均为创建成功;

需求描述:

项目要求对3个字段进行分区,如时间,小时,还有个区域ID,便联想到虚拟列。

 

drop table test_part purge;
 
create table test_part
 (t_time date,
 hour number,
 city_id number,
 hour_city varchar2(108) GENERATED ALWAYS AS(to_char(hour)||'|'||to_char(city_id)))
 partition by range(t_time) subpartition byhash(hour_city)
 (partition part_201705 values less than(to_date('20170601', 'yyyymmdd'))
 (subpartition subpart_201705_01,
  subpartition subpart_201705_02),
 partition part_201706 values less than (to_date('20170701', 'yyyymmdd'))
 (subpartition subpart_201706_01,
  subpartition subpart_201706_02))
 
create table test_part
 (t_time date,
 hour number(2),
 city_id number,
 day_hour varchar2(50) GENERATED ALWAYS AS (to_char(t_time,'yyyymmdd')||'|'||to_char(hour)))
 partition by range(day_hour) subpartition byhash(city_id)
 (partition part_201705 values less than('2017060100')
 (subpartition subpart_201705_01,
  subpartition subpart_201705_02),
 partition part_201706 values less than ('2017070100')
 (subpartition subpart_201706_01,
  subpartition subpart_201706_02))

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。