如何手动删除由其边界标识的分区?

时间:2013-02-15 14:57:49

标签: sql plsql oracle11g

我有一个月份分区的表现在我需要使用oracle 11g下的plsql程序删除超过2个月的分区。我已经尝试alter table <table_name> drop partition <partition name>这个将按照该分区的名称删除。但我需要按月减去。我的实际表是。

CREATE TABLE invoices_1
(in_no    NUMBER NOT NULL,
 voice_date  DATE   NOT NULL,
 feed_back     VARCHAR2(500))
PARTITION BY RANGE (voice_date)
(PARTITION jan VALUES LESS THAN (TO_DATE('01/12/2012', 'DD/MM/YYYY')) ,
 PARTITION feb VALUES LESS THAN (TO_DATE('01/01/2013', 'DD/MM/YYYY')) ,
 PARTITION decs VALUES LESS THAN (TO_DATE('01/02/2013', 'DD/MM/YYYY')) );

1 个答案:

答案 0 :(得分:2)

您可以通过使用与关键字FOR的边界标识分区来删除分区:

SQL> ALTER TABLE invoices_1 DROP PARTITION
  2                          FOR (TO_DATE('2012-12-01', 'YYYY-MM-DD'));

Table altered