ITPub博客

首页 > 数据库 > Oracle > 分区管理6

分区管理6

原创 Oracle 作者:simkyo 时间:2013-11-28 11:28:04 0 删除 编辑
vv_etl_d := to_char(add_months(vd_deal_date, 0 - l_table_list.partition_count),'yyyymm');
                vv_etl_c := to_char(vd_deal_date + 1,'yyyymmdd');
                vv_last_day := null;
                vv_partition_name_a := upper(l_table_list.partition_name||vv_etl_a);
                vv_partition_name_d := upper(l_table_list.partition_name||vv_etl_d);
            else
                goto NEXT_ROW;
            end if;


            begin
                /** @description add partition*/
                /** @description get partition number*/
                select count(*)
                  into vi_count
                  from all_tab_partitions
                 where table_owner = upper(l_table_list.owner)
                   and table_name = upper(l_table_list.table_name)
                   and partition_name = vv_partition_name_a;
                /** @description add partition if partition is not exist*/
                if vi_count = 0 then
                    vv_add_p_sql := 'alter table '||l_table_list.owner||'.'||l_table_list.table_name||' ';
                    dbms_output.put_line('1'||vv_add_p_sql);
                    vv_add_p_sql := vv_add_p_sql||'add partition '||vv_partition_name_a||' ';
                    dbms_output.put_line('2'||vv_add_p_sql);
                    /** @description judge partition type and partition column's data type.0:date,1:char,2:number*/
                    if upper(l_table_list.partition_type_id) = 'L' then
                        if l_table_list.date_type_id = '0' then
                            vv_add_p_sql := vv_add_p_sql||'values (to_date('''||vv_etl_a||''',''yyyymmdd'')) tablespace ';
                        elsif l_table_list.date_type_id = '1' then
                            vv_add_p_sql := vv_add_p_sql||'values ('||vv_etl_a||') tablespace ';
                        elsif l_table_list.date_type_id = '2' then
                            vv_add_p_sql := vv_add_p_sql||'values '||'('||to_number(vv_etl_a)||')'||' tablespace ';
                        end if;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12961536/viewspace-1061430/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 分区管理5
下一篇: 分区管理7
请登录后发表评论 登录
全部评论

注册时间:2013-06-20

  • 博文量
    193
  • 访问量
    137438