修改分区模板¶
修改分区模板:可以通过替换新分区模板的方式修改复合分区表的分区模板。
使用ALTER TABLE … SET SUBPARTITION TEMPLATE语句指定一个新的分区模板。在接下来的任何使用分区模板(如添加分区、合并分区)的后续操作中都将使用新的分区模板,而已经存在的子分区表保持不变。如果修改间隔-复合分区表的分区模板,则后续尚未被创建的间隔子分区表将会使用新的分区模板。如果创建复合分区表时没有指定分区模板,那么执行修改分区模板操作会为复合分区表添加模板。
示例:修改分区模板¶
-- 清理环境
DROP TABLE tab;
DROP TABLESPACE ts1;
DROP TABLESPACE ts2;
-- 创建表空间
CREATE TABLESPACE ts1 DATAFILE 'ts1.dt' SIZE 5M AUTOEXTEND ON NEXT 5M;
CREATE TABLESPACE ts2 DATAFILE 'ts2.dt' SIZE 5M AUTOEXTEND ON NEXT 5M;
-- 创建分区表
CREATE TABLE tab
(
c1 int,
c2 int
)
PARTITION BY RANGE(C1)
SUBPARTITION BY HASH(C2)
SUBPARTITIONS 4
(
PARTITION p1 VALUES LESS THAN(10),
PARTITION p2 VALUES LESS THAN(20)
);
--修改分区模板
ALTER TABLE tab SET SUBPARTITION TEMPLATE
(
SUBPARTITION p1_sub1 TABLESPACE ts1,
SUBPARTITION p1_sub2 TABLESPACE ts2
);
--可以通过指定一个空的列表删除分区模板
ALTER TABLE tab SET SUBPARTITION TEMPLATE ( );
-- 删除表和表空间
DROP TABLE tab CASCADE;
DROP TABLESPACE ts1;
DROP TABLESPACE ts2;