oracle

关注公众号 jb51net

关闭
首页 > 数据库 > oracle > Oracle按月按天自增表分区

Oracle创建自增表分区之按月、按天自增表分区步骤详解

作者:ZimMer@柠檬

这篇文章主要给大家介绍了关于Oracle创建自增表分区之按月、按天自增表分区的相关资料,Oracle表对数据进行月度分区是一种将数据分组的有效方法,此方法是将数据根据它们所属时间段将其存储为不同分区,需要的朋友可以参考下

一、创建按月自增分区表

提示:接下来将按照执行步骤进行介绍;

注:在进行表分区情况查询时,表的名称必须要大写

步骤一:创建按月自增表

create table month_partition_zz_table  --自增表明
(id integer,month_time date) --表字段
partition by range(month_time) --表分区字段
interval (numtoyminterval(1,'month')) --按月自增分区
(
partition p_month_1 values less than (to_date('2023-01-01','yyyy-mm-dd')) --第一个分区表
);

步骤二:查看表现有分区

select * 
from user_tab_partitions --系统分区记录表
where table_name=upper('month_partition_zz_table');

步骤三:使用匿名代码块按月插入数据

begin
  for i in 1..12 loop
      insert into month_partition_zz_table values(i,add_months(to_date('2023-01-01','yyyy-mm-dd'),i-1));
  end loop;
  commit;
end;

查看已经插入的表数据;

select * from month_partition_zz_table;  --查看表内容
truncate table month_partition_zz_table; --清空表
drop table month_partition_zz_table;  --删除表

步骤四:查看表是否按月进行分区

select * 
from user_tab_partitions 
where table_name=upper('month_partition_zz_table');

步骤五:查看表分区内的数据情况

select * From month_partition_zz_table partition(SYS_P76);
select * From month_partition_zz_table partition(SYS_P87);

二、创建按天自增分区表

提示:接下来将按照执行步骤进行介绍;

步骤一:创建按天自增表

create table day_partition_zz_table --自增表名
(id number,day_time date) --表中字段
partition by range(day_time)  --分区字段
interval (numtodsinterval(1,'day'))  --自增天
(
partition p_day_1 values less than (to_date('2023-09-08','yyyy-mm-dd')) --第一天分区表
);

步骤二:查看表现有分区

select * 
from user_tab_partitions 
where table_name=upper('day_partition_zz_table');

步骤三:使用匿名代码块按天插入数据

begin
  for i in 0..10 loop
     insert into day_partition_zz_table values(i,trunc(to_date('2023-09-08','yyyy-mm-dd')+i));
  end loop;
  commit;
end;

查看已经插入的表数据;

select * from day_partition_zz_table;  --查看表内容
truncate table day_partition_zz_table; --清空表
drop table day_partition_zz_table;  --删除表

步骤四:查看表是否按天进行分区

select * 
from user_tab_partitions 
where table_name=upper('month_partition_zz_table');

步骤五:查看表分区内的数据情况

select * From day_partition_zz_table partition(P_DAY_1); --无数据
select * From day_partition_zz_table partition(SYS_P88);  --2023/9/8
select * From day_partition_zz_table partition(SYS_P98); --2023/9/18

总结

到此这篇关于Oracle创建自增表分区之按月、按天自增表分区的文章就介绍到这了,更多相关Oracle按月按天自增表分区内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文