Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 添加间隔每月分区_Oracle_Datatable_Partitioning_Create Table - Fatal编程技术网

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

我想创建这个表,在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 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'))
);