问题描述
亲爱的,
我有一个表,其中包含两列,一列用于年,另一列用于月。我需要根据年份和月份对该表进行分区,其中年份代表分区,在该月份下代表该子分区。我需要的是使自动列表分区按年份,然后自动按月份划分每年下的分区,以便每年分区将有12个月的子分区。可以使用分区和子分区的自动列表来完成此操作吗?
我收到了这个错误消息
第1行的错误:
ORA-14179: 在此上下文中指定了不受支持的分区方法。
对于这种情况,什么是完美的解决方案?
提前感谢
奥萨马
我有一个表,其中包含两列,一列用于年,另一列用于月。我需要根据年份和月份对该表进行分区,其中年份代表分区,在该月份下代表该子分区。我需要的是使自动列表分区按年份,然后自动按月份划分每年下的分区,以便每年分区将有12个月的子分区。可以使用分区和子分区的自动列表来完成此操作吗?
drop table t10 purge; CREATE TABLE t10 ( id NUMBER, description VARCHAR2(50), year number, month number, created_date DATE );复制
alter table t10 modify partition by list (year) automatic subpartition by list (month) automatic (partition Y_2015 values(2015)) (subpartition M_01 values (01)) online;复制
我收到了这个错误消息
第1行的错误:
ORA-14179: 在此上下文中指定了不受支持的分区方法。
对于这种情况,什么是完美的解决方案?
提前感谢
奥萨马
专家解答
没有。在子分区级别不支持自动列表分区。
但是我不认为这里有这个必要。你知道一年有12个月!
因此,您可以创建一个子分区模板,列出每个月的分区:
然后,当您插入将创建一个新的顶级分区的行时,您将获得所有月份:
但是我不认为这里有这个必要。你知道一年有12个月!
因此,您可以创建一个子分区模板,列出每个月的分区:
CREATE TABLE t10 ( id NUMBER, description VARCHAR2(50), year number, month number, created_date DATE ) partition by list (year) automatic subpartition by list (month) subpartition template ( subpartition M_01 values (01), subpartition M_02 values (02), subpartition M_03 values (03), subpartition M_04 values (04), subpartition M_05 values (05), subpartition M_06 values (06), subpartition M_07 values (07), subpartition M_08 values (08), subpartition M_09 values (09), subpartition M_10 values (10), subpartition M_11 values (11), subpartition M_12 values (12) ) ( partition Y_2015 values(2015) );复制
然后,当您插入将创建一个新的顶级分区的行时,您将获得所有月份:
insert into t10 values (1, 'test', 2016, 3, sysdate); select partition_name, subpartition_name, high_value from user_tab_subpartitions where table_name = 'T10'; PARTITION_NAME SUBPARTITION_NAME HIGH_VALUE Y_2015 Y_2015_M_01 01 Y_2015 Y_2015_M_02 02 Y_2015 Y_2015_M_03 03 Y_2015 Y_2015_M_04 04 Y_2015 Y_2015_M_05 05 Y_2015 Y_2015_M_06 06 Y_2015 Y_2015_M_07 07 Y_2015 Y_2015_M_08 08 Y_2015 Y_2015_M_09 09 Y_2015 Y_2015_M_10 10 Y_2015 Y_2015_M_11 11 Y_2015 Y_2015_M_12 12 SYS_P2191 SYS_SUBP2179 01 SYS_P2191 SYS_SUBP2180 02 SYS_P2191 SYS_SUBP2181 03 SYS_P2191 SYS_SUBP2182 04 SYS_P2191 SYS_SUBP2183 05 SYS_P2191 SYS_SUBP2184 06 SYS_P2191 SYS_SUBP2185 07 SYS_P2191 SYS_SUBP2186 08 SYS_P2191 SYS_SUBP2187 09 SYS_P2191 SYS_SUBP2188 10 SYS_P2191 SYS_SUBP2189 11 SYS_P2191 SYS_SUBP2190 12复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。