如何使用小于的值分割此分区表并且不会得到ORA-00906

问题描述 投票:0回答:1

我想向您寻求帮助,我已经找了好几天的例子了,但没有找到任何有用的东西。

我在 Oracle 11g 中有一个分区表,这是它的最后两个分区。 P2026 和 P_OTHER ,数据类型 NUMBER(4)。该表没有任何 DATE 类型的列

PARTITION "P2026"  VALUES LESS THAN (2027)
 ( SUBPARTITION "P2026_SP0"  VALUES (0) ,
  SUBPARTITION "P2026_SP1"  VALUES (1) ,
  SUBPARTITION "P2026_SP2"  VALUES (2) ,
  SUBPARTITION "P2026_SP3"  VALUES (3) ,
  SUBPARTITION "P2026_SP4"  VALUES (4) ,
  SUBPARTITION "P2026_SP5"  VALUES (5) ,
  SUBPARTITION "P2026_SP6"  VALUES (6) ,
  SUBPARTITION "P2026_SP7"  VALUES (7) ,
  SUBPARTITION "P2026_SP8"  VALUES (8) ,
  SUBPARTITION "P2026_SP9"  VALUES (9) ,
  SUBPARTITION "P2026_SP_OTHER"  VALUES (DEFAULT) ) ,
 PARTITION "P_OTHER"  VALUES LESS THAN (MAXVALUE)
 ( SUBPARTITION "P_OTHER_SP0"  VALUES (0) ,
  SUBPARTITION "P_OTHER_SP1"  VALUES (1) ,
  SUBPARTITION "P_OTHER_SP2"  VALUES (2) ,
  SUBPARTITION "P_OTHER_SP3"  VALUES (3) ,
  SUBPARTITION "P_OTHER_SP4"  VALUES (4) ,
  SUBPARTITION "P_OTHER_SP5"  VALUES (5) ,
  SUBPARTITION "P_OTHER_SP6"  VALUES (6) ,
  SUBPARTITION "P_OTHER_SP7"  VALUES (7) ,
  SUBPARTITION "P_OTHER_SP8"  VALUES (8) ,
  SUBPARTITION "P_OTHER_SP9"  VALUES (9) ,
  SUBPARTITION "P_OTHER_SP_OTHER"  VALUES (DEFAULT) ) ) ;

我想拆分 P_OTHER 以添加与代表 2027 年的数字相对应的分区

我试试这个:

ALTER TABLE "OWNER"."PARTITIONEDTABLE" SPLIT PARTITION P_OTHER VALUES LESS THAN (2028) 
 (SUBPARTITION "P2027_SP0"  VALUES (0) ,
  SUBPARTITION "P2027_SP1"  VALUES (1) ,
  SUBPARTITION "P2027_SP2"  VALUES (2) ,
  SUBPARTITION "P2027_SP3"  VALUES (3) ,
  SUBPARTITION "P2027_SP4"  VALUES (4) ,
  SUBPARTITION "P2027_SP5"  VALUES (5) ,
  SUBPARTITION "P2027_SP6"  VALUES (6) ,
  SUBPARTITION "P2027_SP7"  VALUES (7) ,
  SUBPARTITION "P2027_SP8"  VALUES (8) ,
  SUBPARTITION "P2027_SP9"  VALUES (9) ,
  SUBPARTITION "P2027_SP_OTHER" VALUES (DEFAULT)
  )
INTO (partition P2027, partition P_OTHER);

我明白了;

ERROR at line 1:
ORA-00906: missing left parenthesis

我尝试只制作分区而不添加子分区以便稍后添加它们,我也有同样的错误

ALTER TABLE "OWNER"."PARTITIONEDTABLE" SPLIT PARTITION P_OTHER VALUES LESS THAN (2028) INTO (partition P2027, partition P_OTHER);
ERROR at line 1:
ORA-00906: missing left parenthesis

有谁知道语法错误是什么?

oracle oracle11g table-partitioning
1个回答
0
投票

您需要使用

AT
子句,而不是
VALUES LESS THAN
。另外,分割时不会列出子分区。分割分区的语法需要简单:

ALTER TABLE tmp1 SPLIT PARTITION "P_OTHER" AT (2028) INTO (PARTITION "P2027", PARTITION "P_OTHER")
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.