使用虚拟列的Oracle自动LIST分区不允许子表上的REFERENCE分区

我尝试使用虚拟列在测试表上创建分区。这种方法对PARENT或独立表都有效。但是,如果使用虚拟列对PARENT表进行了分区,则无法在CHILD表上创建REFERENCE分区。我在CHILD表的创建表上收到以下错误

ORA-14659: Partitioning method of the parent table is not supported

Oracle版本详细信息: Oracle Database 12c企业版12.2.0.1.0版-64位生产 PL / SQL版本12.2.0.1.0-生产

请在下面找到脚本。

--######################PARENT TABLE###########################################
DROP TABLE BILL_HEADER_TST;

CREATE TABLE BILL_HEADER_TST
(
   BILL_HDR_SID   NUMber (30) NOT NULL,TCN                VARCHAR2 (21 BYTE) NOT NULL,TCN_DATE           DATE,PROGRAM_CID        NUMber,CONSTRAINT XPKBILL_HEADER_TST PRIMARY KEY (BILL_HDR_SID),PARTN_KEY          NUMber

                            AS (   PROGRAM_CID
                                || TO_NUMber (TO_CHAR (TCN_DATE,'YYYYMM')))
                            VIRTUAL
)
PARTITION BY LIST (PARTN_KEY)   AUTOMATIC (PARTITION PDEFAULT VALUES (1201401));


------------------LOCAL INDEXES------------------------------------------------

CREATE INDEX XIE33BILL_HEADER_TST
   ON BILL_HEADER_TST (TCN_DATE)
   LOCAL;


CREATE INDEX XIE38BILL_HEADER_TST
   ON BILL_HEADER_TST (PROGRAM_CID)
   LOCAL;

---------------------INDEXES---------------------------------------------------
CREATE UNIQUE INDEX XAK1BILL_HEADER_TST
   ON BILL_HEADER_TST (TCN)
   LOGGING
   NOPARALLEL;


--#############CHILD TABLE#####################################################   
DROP TABLE BILL_LINE_TST;

CREATE TABLE BILL_LINE_TST
(
   BILL_LINE_SID                 NUMber (30) NOT NULL,BILL_HDR_SID               NUMber (30) NOT NULL,CLM_TYPE_CID                   NUMber (3),PROGRAM_CID                    NUMber,CONSTRAINT XPKBILL_LINE_TST PRIMARY KEY (BILL_LINE_SID),CONSTRAINT XFK17_BILL_LINE_TST FOREIGN KEY
      (BILL_HDR_SID)
       REFERENCES BILL_HEADER_TST (BILL_HDR_SID) ON DELETE CASCADE
)
PARTITION BY REFERENCE (XFK17_BILL_LINE_TST)
ENABLE ROW MOVEMENT;


jiajia2xm 回答:使用虚拟列的Oracle自动LIST分区不允许子表上的REFERENCE分区

摘自《 SQL语言手册》

自动列表分区受“列表分区的限制”中列出的限制的约束。以下附加限制适用:

  • 一个自动列表分区表必须至少具有一个分区 创建时。因为将自动为创建新分区 新的和未知的分区键值,自动 列表分区表不能具有DEFAULT分区。
  • 按索引组织的列表不支持自动列表分区 表或外部表。
  • 包含以下内容的表不支持自动列表分区 varray列。
  • 您无法在自动计算机上创建本地域索引 列表分区表。您可以在 自动列表分区表。
  • 自动列表分区表不能是子表或表 父表以进行参考分区。
  • 子分区不支持自动列表分区 级别。
本文链接:https://www.f2er.com/3136608.html

大家都在问