为什么在尝试在Oracle中创建分区表时会得到ORA-00922?

时间:2017-03-14 09:03:16

标签: oracle ddl database-partitioning

我试图在oracle表上创建分区但是出现ORA-00922错误。

从命令行中的第1行开始出错 -

CREATE TABLE "RATE_REQUEST_BKP_PARIATIONED"
  (
    "RATE_REQUEST_ID"     NUMBER(10,0),
    "PRODUCT_CUSTOMER_ID" NUMBER(10,0),
    "DESTINATION_ID"      NUMBER(10,0),
    "CREATED_DT"          DATE,
    "CREATED_BY"          NUMBER(10,0),
    "MODIFIED_DT"         DATE,
    "MODIFIED_BY"         NUMBER(10,0),
    "RATE_STATUS_ID"      NUMBER(10,0)
  )
  PARTITION BY RANGE
  (
    CREATED_DT
  )
  INTERVAL
  (
    NUMTOYMINTERVAL(1, 'MONTH')
  )
  (
    PARTITION p0 VALUES LESS THAN (TO_DATE('1-3-2017', 'DD-MM-YYYY')),
    PARTITION p1 VALUES LESS THAN (TO_DATE('1-4-2017', 'DD-MM-YYYY')),
    PARTITION p2 VALUES LESS THAN (TO_DATE('1-5-2017', 'DD-MM-YYYY'))
  )

错误报告 -

SQL Error: ORA-00922: missing or invalid option
00922. 00000 -  "missing or invalid option"
*Cause:    
*Action:
Table "RATE_REQUEST_BKP_PARIATIONED" dropped.

Commit complete.

请帮我查一下查询问题。

1 个答案:

答案 0 :(得分:0)

愿这个帮助你 如果在定义存储子句或列时指定了无效选项,则将抛出ORA-00922。 ORA-00922提到指定列不能包含任何NULL值,指定列时的有效选项是NOT NULL,并且只有约束可以遵循数据类型。

同样值得注意的是ORA-00922,也可能导致抛出此错误,是指定LOG或DATE数据类型的最大长度。

纠正ORA-00992包括纠正规范中的语法,注意从列规范的存储中取出错误的选项或长度规范

从这个链接得到答案 http://www.dba-oracle.com/t_ora_00922_missing_or_invalid_option.htm