如何为参考分区表

时间:2017-11-22 14:28:27

标签: oracle oracle11g database-partitioning

考虑参考分区表的以下场景。表T_PARTNER_CUSTOMER借用表part1中的分区part2T_PARTNER_CONFIG

CREATE TABLE T_PARTNER_CONFIG (
  ID                   NUMBER(38)                 NOT NULL,
  SECURITY_CONTEXT_ID  NUMBER(38)                 NOT NULL
)
PARTITION BY LIST(SECURITY_CONTEXT_ID)
(PARTITION part1 VALUES (0, 1, 2),
 PARTITION part2 VALUES (4, 5, 6));


CREATE TABLE T_PARTNER_CUSTOMER (
  ID                 NUMBER(38)              NOT NULL,
  PARTNER_CONFIG_ID  NUMBER(38)              NOT NULL
  CUSTOMER_NUMBER    VARCHAR2(10)            NOT NULL,
  CONSTRAINT FK_PC_PARTNER_CONFIG
      FOREIGN KEY(PARTNER_CONFIG_ID) REFERENCES T_PARTNER_CONFIG (id)  
)
PARTITION BY REFERENCE(FK_PC_PARTNER_CONFIG);

现在,如果我们想要为表T_PARTNER_CUSTOMER创建更多子分区,那么分区part1part2将进一步细分为表T_PARTNER_CUSTOMER。我尝试了下面的方法,但它没有用。我正在使用Oracle 11g企业版。

CREATE TABLE T_PARTNER_CUSTOMER (
  ID                 NUMBER(38)              NOT NULL,
  PARTNER_CONFIG_ID  NUMBER(38)              NOT NULL
  CUSTOMER_NUMBER    VARCHAR2(10)            NOT NULL,
  CONSTRAINT FK_PC_PARTNER_CONFIG
      FOREIGN KEY(PARTNER_CONFIG_ID) REFERENCES T_PARTNER_CONFIG (id)  
)
PARTITION BY REFERENCE(FK_PC_PARTNER_CONFIG)
SUBPARTITION BY HASH (CUSTOMER_NUMBER) SUBPARTITIONS 8;

1 个答案:

答案 0 :(得分:1)

似乎不可能,请参阅documentation

enter image description here

没有" SUBPARTITON"可用的子句,与其他分区类型不同,例如LIST:

enter image description here