如何按日期列分区oracle表?

vic*_*rio 4 database oracle date database-partitioning database-scripts

我在oracle中有一个表:

CREATE TABLE transaction (
    id INT NOT NULL,
    accountnumber VARCHAR NOT NULL,
    stmtvaluedate DATE NOT NULL,
    ...
)
Run Code Online (Sandbox Code Playgroud)

我想通过stmtvaluedate列对此表进行分区.我的目标是在一个月过后创建一个新分区.

对于它,有什么好的剧本吗?或者我必须创建静态数量的分区?

最好的是:如果一个月过去了,将自动创建一个新分区.

任何人都可以给我一个关于如何在每个月之后按日期列分区表的示例吗?如果自动分区是不可能的,那么我需要一个示例,该示例从现在开始按日期列创建分区,大约每个月.

谢谢!

Mat*_*eak 13

你想做什么是完全可能的.这应该这样做:

CREATE TABLE transaction (
    id INT NOT NULL,
    accountnumber VARCHAR2(30) NOT NULL,
    stmtvaluedate DATE NOT NULL
)
PARTITION BY RANGE (stmtvaluedate)
INTERVAL (NUMTOYMINTERVAL (1,'MONTH')) 
    ( partition transaction_old values less than (to_date('01-JAN-2000','DD-MON-YYYY') ));
Run Code Online (Sandbox Code Playgroud)