删除分区

   --取删除明细表表的值
  select nvl(paramvalue,'90'), nvl(defaultvalue,'90'),paramrule
    into v_dstimedelanaly,v_defaultval,v_paramrule
    from st_systemparameter
   where upper(paramname) = upper('Sys_MaintailDetailTrace');
   select count(*)
     into v_exist
     from dual
    where regexp_like(v_dstimedelanaly,v_paramrule);
   if v_exist = 0 then
    v_dstimedelanaly := v_defaultval;
   end if;

  --删除过去明细表的分区
  select table_name, partition_name bulk collect
    into v_droptabname, v_droppart
    from user_tab_partitions
   where substr(table_name, 1, 6) = 'TBL_MM'
     and length(table_name) = 14
     and substr(partition_name, 2, 8) <
         to_char(sysdate - v_dstimedelanaly, 'yyyymmdd');

  if v_droptabname.count > 0 then
    for i in 1 .. v_droptabname.count
    loop
      --execute immediate 'drop table '||v_droptabname(i);
      v_sql := 'alter table ' || v_droptabname(i) || ' drop partition ' ||
               v_droppart(i) || ' update indexes';
      execute immediate v_sql;
    end loop;
  end if;
  commit;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值