【发布时间】:2019-10-13 09:44:21
【问题描述】:
我正在寻找动态创建分区的最佳方式。例如,分区 1 将保存截至今天 (SYSDATE) 的所有记录,分区 2 将保存昨天日期 (SYSDATE-1) 的记录,依此类推,直到 SYSDATE-29。
到目前为止,我已经尝试过使用:
PARTITION BY RANGE(COLUMN_NAME)
INTERVAL(NUMTODSINTERVAL(1,'DAY'))
(
PARTITION p0 VALUES LESS THAN (select SYSDATE from dual)
);
和
PARTITION BY RANGE(COLUMN_NAME)
INTERVAL(NUMTODSINTERVAL(1,'DAY'))
(
PARTITION p0 VALUES LESS THAN (to_char(SYSDATE,'DD-MON-YY')from dual)
);
但我收到如下错误:
“ORA-14019:分区绑定元素必须是以下之一:字符串、日期时间或间隔文字、数字或 MAXVALUE”
那么,我该怎么做呢?
【问题讨论】:
-
您不能在分区 <...> 小于子句中使用 SYSDATE。它必须是错误或 MAXVALUE 关键字中给出的文字。
标签: oracle oracle12c dynamic-sql database-partitioning