

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# CREATE VIEW et CREATE PROTECTED MULTI DIALECT VIEW
<a name="create-view"></a>

Une vue est une table logique qui peut être référencée par de futures requêtes. Les vues ne contiennent pas de données et n'écrivent pas de données. Au lieu de cela, la requête spécifiée par la vue s'exécute chaque fois que vous référencez la vue par une autre requête. 
+ L’instruction `CREATE VIEW` crée une vue Athena à partir d’une requête `SELECT` spécifiée. Les vues Athena fonctionnent au sein d’Athena. Pour plus d’informations sur les vues Athena, consultez [Utilisation de vues](views.md). 
+ `CREATE PROTECTED MULTI DIALECT VIEW`crée une AWS Glue Data Catalog vue dans le AWS Glue Data Catalog. AWS Glue Data Catalog les vues fournissent une vue commune unique, Services AWS comme Amazon Athena et Amazon Redshift. Pour plus d'informations sur les AWS Glue Data Catalog vues, consultez[Utilisation des vues de catalogue de données dans Athena](views-glue.md).

## CREATE VIEW
<a name="create-view-ate"></a>

Cette instruction crée une vue à utiliser dans Athena.

### Résumé
<a name="synopsis"></a>

```
CREATE [ OR REPLACE ] VIEW view_name AS query
```

La clause `OR REPLACE` en option vous permet de mettre à jour la vue existante en la remplaçant. Pour plus d’informations, consultez [Création de vues](views-console.md#creating-views).

### Exemples
<a name="examples"></a>

Pour créer une vue `test` à partir de la table `orders`, utilisez une requête semblable à la suivante :

```
CREATE VIEW test AS
SELECT 
orderkey, 
orderstatus, 
totalprice / 2 AS half
FROM orders;
```

Pour créer une vue `orders_by_date` à partir de la table `orders`, utilisez la requête suivante :

```
CREATE VIEW orders_by_date AS
SELECT orderdate, sum(totalprice) AS price
FROM orders
GROUP BY orderdate;
```

Pour mettre à jour une vue existante, utilisez un exemple semblable à ce qui suit :

```
CREATE OR REPLACE VIEW test AS
SELECT orderkey, orderstatus, totalprice / 4 AS quarter
FROM orders;
```

 Pour plus d’informations sur l’utilisation des vues Athena, consultez [Utilisation de vues](views.md).

## CREATE PROTECTED MULTI DIALECT VIEW
<a name="create-protected-multi-dialect-view"></a>

Crée une AWS Glue Data Catalog vue dans le AWS Glue Data Catalog. Une vue du Catalogue de données est un schéma de vue unique qui fonctionne avec Athena et d’autres moteurs SQL tels qu’Amazon Redshift et Amazon EMR.

### Syntaxe
<a name="create-protected-multi-dialect-view-syntax"></a>

```
CREATE [ OR REPLACE ] PROTECTED MULTI DIALECT VIEW view_name 
SECURITY DEFINER 
[ SHOW VIEW JSON ]
AS query
```

**OR REPLACE**  
(Facultatif) Met à jour la vue existante en la remplaçant. Un affichage du Catalogue de données ne peut pas être remplacé si des dialectes SQL provenant d’autres moteurs sont présents dans l’affichage. Si le moteur appelant possède le seul dialecte SQL présent dans l’affichage, celui-ci peut être remplacé.

**PROTECTED**  
Mot-clé requis. Spécifie que l’affichage est protégé contre les fuites de données. Les affichages du Catalogue de données ne peuvent être créés qu’en tant qu’affichages `PROTECTED`.

**MULTI DIALECT**  
Spécifie que l’affichage prend en charge les dialectes SQL des différents moteurs de requête et peut donc être lu par ces moteurs.

**SECURITY DEFINER**  
Spécifie que la sémantique du définisseur est en vigueur pour cet affichage. La sémantique du définisseur signifie que les autorisations de lecture effectives sur les tables sous-jacentes appartiennent au principal ou au rôle qui a défini l’affichage, et non au principal qui effectue la lecture proprement dite.

**SHOW VIEW JSON**  
(Facultatif) Renvoie le format JSON pour la spécification de vue du Catalogue de données sans créer réellement de vue. Cette option de « test à blanc » est utile lorsque vous souhaitez valider le code SQL de la vue et renvoyer les métadonnées de table qui seront utilisées par AWS Glue .

### Exemple
<a name="create-protected-multi-dialect-view-syntax-example"></a>

L’exemple suivant crée l’affichage `orders_by_date` du Catalogue de données basé sur une requête sur la table `orders`.

```
CREATE PROTECTED MULTI DIALECT VIEW orders_by_date 
SECURITY DEFINER 
AS 
SELECT orderdate, sum(totalprice) AS price 
FROM orders 
WHERE order_city = 'SEATTLE' 
GROUP BY orderdate
```

Pour plus d'informations sur l'utilisation des AWS Glue Data Catalog vues, consultez[Utilisation des vues de catalogue de données dans Athena](views-glue.md).