Oracle 添加间隔每月分区
我想创建这个表,在endTime列上有一个每月分区。 我的意思是每个月oracle自动添加一个分区Oracle 添加间隔每月分区,oracle,datatable,partitioning,create-table,Oracle,Datatable,Partitioning,Create Table,我想创建这个表,在endTime列上有一个每月分区。 我的意思是每个月oracle自动添加一个分区 create table T_CALLSESSION() PARTITON BY RANGE (C_ENDTIME ) INTERVAL(NUMTOYMINTERVAL(1,'month'); ( C_ID NUMBER(34, 0) not null, C_ENDTIME timestamp not null, C_STARTTIME timestamp not nul
create table T_CALLSESSION() PARTITON BY RANGE (C_ENDTIME )
INTERVAL(NUMTOYMINTERVAL(1,'month'); (
C_ID NUMBER(34, 0) not null,
C_ENDTIME timestamp not null,
C_STARTTIME timestamp not null,
C_TYPE number(10,0) not null,
F_CREATOR NUMBER(34, 0),
F_MESSAGE_THREAD NUMBER(34, 0),
primary key (C_ID)
);
这样行吗?代码中有一些错误
- 表名不应包含括号
()
子句必须位于列和约束声明之后PARTITION
- 您必须使用
分区,以便自动创建新分区间隔
- 必须使用一些常量值创建一个分区,然后自动创建其他分区
create table T_CALLSESSION (
C_ID NUMBER(34, 0) not null,
C_ENDTIME timestamp not null,
C_STARTTIME timestamp not null,
C_TYPE number(10,0) not null,
F_CREATOR NUMBER(34, 0),
F_MESSAGE_THREAD NUMBER(34, 0),
primary key (C_ID)
) PARTITION BY RANGE (C_ENDTIME)
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(
PARTITION T_CALLSESSION_P1 VALUES LESS THAN (TO_DATE('01-06-2020', 'DD-MM-YYYY'))
);