我有下表
CREATE TABLE "ICTPART_DAILY_SUMMARY"
(
"EVENT_START_DATE" DATE
"ACCOUNTING_METHOD" CHAR(1),
......etc
)
PARTITION BY RANGE ("EVENT_START_DATE")
(PARTITION "ICTPART_DAY_SUM_P20220218" VALUES LESS THAN (TO_DATE(' 2022-02-219 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
NOCOMPRESS LOGGING
TABLESPACE "TBS_ICTQUO_D" ,
PARTITION "ICTPART_DAY_SUM_P20220219" VALUES LESS THAN (TO_DATE(' 2022-02-20 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
NOCOMPRESS LOGGING
TABLESPACE "TBS_ICTQUO_D" ,
PARTITION "ICTPART_DAY_SUM_PMAX" VALUES LESS THAN (MAXVALUE)
NOCOMPRESS LOGGING
TABLESPACE "TBS_ICTQUO_D" ) ;
我的工作每天早上运行,并在这张表中插入新行我想每天在工作开始时插入新行之前添加分区我的意思是在插入之前。
有什么想法吗?并且我需要保留像CCD_ 1那样的分区的名称,当然CCD_。。etc
您可以使用alter表分割分区,如下所示:
alter table ICTPART_DAILY_SUMMARY split partition ICTPART_DAY_SUM_PMAX at (to_date('20220220','yyyymmdd'))) into (partition ICTPART_DAY_SUM_P20220219, partition ICTPART_DAY_SUM_PMAX)
看医生。您也可以使用间隔分区:
PARTITION BY RANGE ("EVENT_START_DATE") interval(numtodsinterval(1,'day'))
这将自动为您创建分区,尽管您无法控制分区名称。您不需要知道分区的名称来管理它,只需要知道"范围"中的一个值,例如:
alter table ICTPART_DAILY_SUMMARY truncate partition for (to_date('01012022','ddmmyyyy'))