请建议从Oracle数据库中的表中删除从当前日期到最近3个月的旧分区数据的表中的分区的方法,因此以下是我提出的查询,现在请告知是否有任何它需要改进还是我可以即兴创作。请告知。
BEGIN
FOR cc IN
(SELECT partition_name,
high_value
FROM user_tab_partitions
WHERE table_name = 'Testing_table'
)
LOOP
EXECUTE IMMEDIATE 'BEGIN
IF sysdate >= ADD_MONTHS(' || cc.high_value || ', 3) THEN
EXECUTE IMMEDIATE
''ALTER TABLE CHECK_KRI DROP PARTITION ' || cc.partition_name || '
'';
END IF;
END;';
END LOOP;
END;
/