Welcome 微信登录

首页 / 数据库 / MySQL / Oracle分区表使用实例

Oracle分区表使用实例:create or replace procedure bl_partition is
  v_sql       varchar(1024);
  v_count     int;
  v_partname  varchar2(32);
  v_startdate date;
  v_enddate   date := trunc(sysdate) + 1;
begin
  v_sql := "select count(*) from user_tables where table_name=""BL_TEST""";
  execute immediate v_sql
    into v_count;
  if v_count = 0 then
    v_sql := "create table bl_test (period date,abcd varchar2(20)) nologging partition by range (period)
    (partition pmax values less than (MAXVALUE) tablespace bl_test)";
    execute immediate v_sql;
  end if;
  v_sql := "select max(partition_name) from user_tab_partitions where table_name=""BL_TEST"" and partition_name<>""PMAX""";
  execute immediate v_sql
    into v_partname;
  if v_partname is null then
    v_startdate := trunc(sysdate) - 2;
  else
    v_startdate := to_date(substr(v_partname, 2), "yyyymmdd");
  end if;
  while v_startdate < v_enddate loop
    v_startdate := v_startdate + 1;
    v_partname  := "p" || to_char(v_startdate, "yyyymmdd");
    v_sql       := "alter table bl_test split partition pmax at (to_date(""" ||
                   to_char(v_startdate + 1, "yyyyymmdd") ||
                   """,""yyyymmdd"")) into (partition " || v_partname ||
                   ",partition pmax)";
    execute immediate v_sql;
  end loop;
end bl_partition; Oracle完整数据库实例迁移如何解决CentOS 5.5+Oracle 11g EM中按钮显示乱码问题相关资讯      Oracle基础教程 
  • Oracle块编程返回结果集详解  (11/10/2013 10:45:58)
  • Oracle基础教程之设置系统全局区  (08/22/2013 14:24:00)
  • Oracle基础教程知识点总结  (06/18/2013 07:43:32)
  • Oracle基础教程之tkprof程序详解  (10/22/2013 11:49:50)
  • Oracle基础教程之sqlplus汉字乱码  (07/18/2013 16:30:00)
  • Oracle 管理之 Linux 网络基础  (02/16/2013 18:37:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数