码迷,mamicode.com
首页 > 数据库 > 详细

oracle按时间分区以及自动分区

时间:2017-10-20 16:54:19      阅读:3449      评论:0      收藏:0      [点我收藏+]

标签:calendar   自己   create   partition   数据   sele   nbsp   ora   day   

 (1)

--- 创建按时间分区的表

create table temp_workdate(
WORKDATE date
)
PARTITION BY RANGE (WORKDATE)(
partition P_20171020 values less than (TO_DATE(‘ 2017-10-20 23:59:59‘, ‘SYYYY-MM-DD HH24:MI:SS‘, ‘NLS_CALENDAR=GREGORIAN‘))
);

-- 插入时间比分区时间小的数据不会报错

insert into temp_workdate select  to_date(TO_DATE(‘ 2017-09-11 23:59:59‘, ‘SYYYY-MM-DD HH24:MI:SS‘)) from dual;

--插入时间比分区时间大的数据报错

insert into temp_workdate select  to_date(TO_DATE(‘ 2017-12-11 23:59:59‘, ‘SYYYY-MM-DD HH24:MI:SS‘)) from dual;

1.因为我这边使用存储过程,所以可以用代码控制数据导向以及分区生成;

2.表名自己控制生成规则,后期获取简单(至少我这边是)

(2)

-- 由数据库自动分区

create table temp_workdate(
WORKDATE date
)
PARTITION BY RANGE (WORKDATE)
INTERVAL (NUMTODSINTERVAL(1,‘DAY‘))(
partition P_20171020 values less than (TO_DATE(‘ 2017-10-20 23:59:59‘, ‘SYYYY-MM-DD HH24:MI:SS‘, ‘NLS_CALENDAR=GREGORIAN‘))
);

-- 插入两条数据

insert into temp_workdate select to_date(TO_DATE(‘ 2017-12-11 23:59:59‘, ‘SYYYY-MM-DD HH24:MI:SS‘)) from dual;
insert into temp_workdate select to_date(TO_DATE(‘ 2017-09-11 23:59:59‘, ‘SYYYY-MM-DD HH24:MI:SS‘)) from dual;

-- success

技术分享

-- 自动分区,但分区名不好控制且不是自己定义.后期要取需要循环去拿

 

oracle按时间分区以及自动分区

标签:calendar   自己   create   partition   数据   sele   nbsp   ora   day   

原文地址:http://www.cnblogs.com/Chen-cnblogs/p/7700013.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!