1

我有一个按月分区的表,现在我需要在 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')) );
4

1 回答 1

2

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

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

Table altered
于 2013-02-15T16:16:26.437 回答