摘要:本文主要向大家介绍了Oracle数据库之oracle按时间分区以及自动分区,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
本文主要向大家介绍了Oracle数据库之oracle按时间分区以及自动分区,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。
(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有所帮助,更多内容请关注职坐标数据库Oracle数据库频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号