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按月按天自增表分区内容请搜索电脑手机教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持电脑手机教程网!