Oracle数据库分区自动删除

说明:
该存储过程部署后,设置成定时任务,每天执行。
每次执行删除partition_position = '2'的分区,删除之后,partition_position = '3'的分区会前移到partition_position 为 '2';
 

CREATE OR REPLACE PROCEDURE BILL_CENT_JILI.DAY_PARTITION AS

v_p_name varchar2(2000);
v_p_num number;
v_drop_sql  varchar2(2000);

BEGIN
    select partition_name into v_p_name from user_tab_partitions where table_name = 'TD_YPQ_L' and partition_position = '2';
    v_drop_sql  := 'alter table TD_YPQ_L drop partition ' || v_p_name|| ' ' ;
    execute immediate v_drop_sql ;

    select partition_name into v_p_name from user_tab_partitions where table_name = 'TD_YPQ_H' and partition_position = '2';
    v_drop_sql  := 'alter table TD_YPQ_H drop partition ' || v_p_name|| ' ' ;
    execute immediate v_drop_sql ;
END;

你可能感兴趣的:(Oracle,运维,数据库)