【发布时间】:2017-03-14 09:03:15
【问题描述】:
我正在尝试在 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.
请帮我找出查询的问题。
【问题讨论】:
-
错误报告说的不一样。如果 DDL 有错误,则不会创建表。并且 DROP 也应该因无效的表名而失败。也许,您的 DDL 脚本中的其他内容是错误的。
-
您发布的代码会创建一个表格。因此,无论您遇到什么错误,它都不是来自 CREATE TABLE 语句。
-
你有哪个版本的oracle? 10? 11 点?
-
@ArkadiuszŁukasiewicz 有一个很好的观点。 INTERVAL 语法是在 11g 中引入的。但是,该帖子包含
Table "RATE_REQUEST_BKP_PARIATIONED" dropped.行,这表明该表之前已成功创建。 -
请发布您的完整脚本,因为如果不是来自发布的声明,它看起来像错误。
标签: oracle ddl database-partitioning