带子分区的分区语法

时间:2012-11-01 09:57:26

标签: sql oracle

col1 ....
col2 ....
col3 ....
col4 ....
PARTITION BY RANGE(DATE_KEY)
SUBPARTITION BY LIST(REGION_KEY)
SUBPARTITION TEMPLATE
  (SUBPARTITION A VALUES (1) TABLESPACE X,
   SUBPARTITION B VALUES(3) TABLESPACE X,
   SUBPARTITION C VALUES (8) TABLESPACE X)
(PARTITION MON_JAN_2012 VALUES LESS THAN (1000)
    TABLESPACE X
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    NOLOGGING
  (SUBPARTITION A VALUES (1) TABLESPACE X,
   SUBPARTITION B VALUES(3) TABLESPACE X,
   SUBPARTITION C VALUES (8) TABLESPACE X),
 PARTITION MON_FEB_2012 VALUES LESS THAN (2000)
    TABLESPACE X        PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    NOLOGGING
  (SUBPARTITION A VALUES (1) TABLESPACE X,
   SUBPARTITION B VALUES(3) TABLESPACE X,
   SUBPARTITION C VALUES (8) TABLESPACE X)

我的表结构是这样的,我是分区的新手,需要从March_2021为表添加新的分区几个月,需要正确的语法,我试图谷歌但不能找到添加分区的示例子分区。数据库10g

1 个答案:

答案 0 :(得分:1)

因为您有模板,所以添加分区对子分区是透明的:

alter table your_table add partition mon_mar_2012 values less than (3000);

(这将自动创建新分区的子分区。)

编辑:如果你没有模板,你应该手动创建子分区:

ALTER TABLE your_table MODIFY PARTITION partition
      ADD SUBPARTITION subpartition_name ...