Nevím o žádné oracle utility nebo funkci, která by to udělala. Informace, které potřebujete k napsání vlastního programu, můžete najít v zobrazeních DBA_TAB_PARTITIONS nebo ALL_TAB_PARTITIONS, podobně jako v následujícím:
SELECT TABLE_OWNER, TABLE_NAME, PARTITION_NAME, HIGH_VALUE
FROM SYS.DBA_TAB_PARTITIONS
WHERE TABLE_OWNER = strSchema AND
TABLE_NAME = strTable
kde strSchema a strTable jsou schéma a tabulka, které vás zajímají. HIGH_VALUE je LONG pole, které obsahuje kód pro volání funkce TO_DATE (za předpokladu, že je vaše tabulka rozdělena na pole data); budete muset přiřadit HIGH_VALUE k poli LONG a poté přiřadit LONG k VARCHAR2, abyste získali hodnotu někde, kde s ní lze manipulovat, podobným způsobem jako:
lHigh_value LONG;
strDate_clause VARCHAR2(100);
lHigh_value := aRow.HIGH_VALUE;
strDate_clause := lHigh_value;
Pak stačí extrahovat příslušná pole z klauzule DATE, abyste mohli určit, které oddíly musíte zrušit.
Sdílejte a užívejte si.