

# ALTER VIEW DIALECT
<a name="alter-view-dialect"></a>

エンジンダイアレクトを AWS Glue Data Catalog ビューに追加したり、ビューから削除したりします。AWS Glue Data Catalog ビューにのみ適用されます。`Lake Formation` 管理者または定義者の許可が必要です。

AWS Glue Data Catalog ビューの詳細については、「[Athena でデータカタログビューを使用する](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` キーワードにより、ビュー内の競合するエンジンダイアレクト情報が新しい定義で上書きされます。`FORCE` キーワードは、データカタログビューの更新後に、既存のエンジンダイアレクト間でビュー定義に競合が発生した場合に役立ちます。例えば、データカタログビューに Athena と Amazon Redshift の両方のダイアレクトがあり、更新後に、ビュー定義で Amazon Redshift と競合が発生したとします。この場合は、`FORCE` キーワードを使用して更新を完了させ、Amazon Redshift ダイアレクトを古いものとしてマークできます。古いとマークされたエンジンがビューをクエリすると、クエリは失敗します。エンジンは例外をスローして、古い結果を許可しません。これを修正するには、ビュー内の古いダイアレクトを更新します。

**ADD**  
データカタログビューに新しいエンジンダイアレクトを追加します。指定するエンジンは、データカタログビューに既に存在していない必要があります。

**UPDATE**  
データカタログビューに既に存在するエンジンダイアレクトを更新します。

**DROP**  
既存のエンジンダイアレクトをデータカタログビューから削除します。データカタログビューからエンジンを削除すると、削除されたエンジンからデータカタログビューをクエリできなくなります。ビュー内の他のエンジンダイアレクトは引き続きビューをクエリできます。

**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
```