

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

# 變更檢視方言
<a name="alter-view-dialect"></a>

從 AWS Glue Data Catalog 檢視新增或捨棄引擎方言。僅適用於 AWS Glue Data Catalog 檢視。需要 `Lake Formation` 管理員或定義程式許可。

如需 AWS Glue Data Catalog 檢視的詳細資訊，請參閱 [在 Athena 中使用 Data Catalog 檢視](views-glue.md)。

## 語法
<a name="alter-view-dialect-syntax"></a>

```
ALTER VIEW name [ FORCE ] [ ADD|UPDATE ] DIALECT AS query
```

```
ALTER VIEW name [ DROP ] DIALECT
```

**FORCE**  
`FORCE` 關鍵字會導致檢視中的衝突性引擎方言資訊被新的定義覆寫。當 Data Catalog 檢視更新導致現有引擎方言具有衝突性檢視定義時，`FORCE` 關鍵字非常有用。假設 Data Catalog 檢視同時具有 Athena 和 Amazon Redshift 方言，而且更新會導致檢視定義中與 Amazon Redshift 方言發生衝突。在此情況下，您可使用 `FORCE` 關鍵字允許更新完成，並將 Amazon Redshift 方言標記為過時。當引擎標記為過時查詢檢視時，查詢會失敗。引擎擲回例外狀況，以禁止過時的結果。若要更正此問題，請更新檢視中過時的方言。

**ADD**  
將新引擎方言新增至 Data Catalog 檢視。指定的引擎不得存在於 Data Catalog 檢視中。

**UPDATE**  
更新 Data Catalog 檢視中已存在的引擎方言。

**DROP**  
從 Data Catalog 檢視中捨棄現有的引擎方言。從 Data Catalog 檢視中捨棄引擎後，捨棄的引擎無法查詢 Data Catalog 檢視。檢視中的其他引擎方言仍可查詢檢視。

**DIALECT AS**  
引入引擎特定的 SQL 查詢。

## 範例
<a name="alter-view-dialect-syntax-examples"></a>

```
ALTER VIEW orders_by_date FORCE ADD DIALECT 
AS 
SELECT orderdate, sum(totalprice) AS price 
FROM orders 
GROUP BY orderdate
```

```
ALTER VIEW orders_by_date FORCE UPDATE DIALECT 
AS 
SELECT orderdate, sum(totalprice) AS price 
FROM orders 
GROUP BY orderdate
```

```
ALTER VIEW orders_by_date DROP DIALECT
```