

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# ALTER TABLE DROP PARTITION
<a name="alter-table-drop-partition"></a>

捨棄指定資料表的一或多個指定分割區。

## 概要
<a name="synopsis"></a>

```
ALTER TABLE table_name DROP [IF EXISTS] PARTITION (partition_spec) [, PARTITION (partition_spec)]
```

## Parameters
<a name="alter-table-drop-partition-parameters"></a>

**[IF EXISTS]**  
如果指定的分割區不存在，會造成錯誤訊息隱藏。

**PARTITION (partition\_spec)**  
每個 `partition_spec` 會以 `partition_col_name = partition_col_value [,...]` 的形式指定一個資料欄名稱/值組合。

## 範例
<a name="alter-table-drop-partition-examples"></a>

```
ALTER TABLE orders 
DROP PARTITION (dt = '2014-05-14', country = 'IN');
```

```
ALTER TABLE orders 
DROP PARTITION (dt = '2014-05-14', country = 'IN'), PARTITION (dt = '2014-05-15', country = 'IN');
```

## 備註
<a name="alter-table-drop-partition-notes"></a>

`ALTER TABLE DROP PARTITION` 陳述式不會提供單一語法來一次捨棄所有分割區，或支援篩選條件來指定要捨棄的分割區範圍。

作為解決方法，您可以在指令碼中使用 AWS Glue API [GetPartitions](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-GetPartitions) 和 [BatchDeletePartition](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-partitions.html#aws-glue-api-catalog-partitions-BatchDeletePartition) 動作。`GetPartitions` 動作支援類似於 SQL `WHERE` 表達式中的複雜篩選條件表達式。使用 `GetPartitions` 建立要刪除的分割區篩選清單後，您可以使用 `BatchDeletePartition` 動作以刪除以 25 為單位批次的分割區。