

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

Uma visualização é uma tabela lógica que pode ser referenciada por futuras consultas. As visualizações não contêm todos os dados e não gravam dados. Em vez disso, a consulta especificada pela exibição é executada sempre que você fizer referência à exibição por outra consulta. 
+ `CREATE VIEW` cria uma visualização do Athena a partir de uma consulta `SELECT` especificada. As visualizações do Athena funcionam dentro do Athena. Para obter mais informações sobre visualizações do Athena, consulte [Trabalhar com visualizações](views.md). 
+ `CREATE PROTECTED MULTI DIALECT VIEW` cria uma visualização do AWS Glue Data Catalog no AWS Glue Data Catalog. As visualizações do AWS Glue Data Catalog fornecem uma visualização única e comum entre os Serviços da AWS como o Amazon Athena e o Amazon Redshift. Para obter mais informações sobre visualizações do AWS Glue Data Catalog, consulte [Usar visualizações do Catálogo de Dados no Athena](views-glue.md).

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

Cria uma visualização para uso no Athena.

### Resumo
<a name="synopsis"></a>

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

A cláusula `OR REPLACE` opcional permite atualizar a exibição existente substituindo-a Para obter mais informações, consulte [Criar visualizações](views-console.md#creating-views).

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

Para criar uma exibição `test` a partir da tabela `orders`, use uma consulta semelhante à seguinte:

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

Para criar uma exibição `orders_by_date` a partir da tabela `orders`, use a seguinte consulta:

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

Para atualizar uma exibição existente, use um exemplo semelhante ao seguinte:

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

 Para obter mais informações sobre o uso de visualizações do Athena, consulte [Trabalhar com visualizações](views.md).

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

Cria uma visualização do AWS Glue Data Catalog no AWS Glue Data Catalog. Uma visualização do Catálogo de Dados corresponde a um esquema de visualização única que funciona entre o Athena e outros mecanismos de SQL, como o Amazon Redshift e o Amazon EMR.

### Sintaxe
<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**  
(Opcional) Atualiza a visualização existente substituindo-a. Uma visualização do Catálogo de Dados não poderá ser substituída se dialetos SQL de outros mecanismos estiverem presentes na visualização. Se o mecanismo de chamada tiver o único dialeto SQL presente na visualização, a visualização poderá ser substituída.

**PROTECTED**  
Palavra-chave obrigatória. Especifica que a visualização está protegida contra vazamentos de dados. As visualizações do Catálogo de Dados podem ser criadas somente como uma visualização `PROTECTED`.

**MULTI DIALECT**  
Especifica que a visualização oferece suporte aos dialetos SQL de diferentes mecanismos de consulta e, portanto, que ela pode ser lida por esses mecanismos.

**SECURITY DEFINER**  
Especifica que a semântica do programador está em vigor para essa visualização. A semântica do programador significa que as permissões de leitura efetivas nas tabelas subjacentes pertencem à entidade principal ou ao perfil que definiu a visualização, e não à entidade principal que executa a leitura.

**SHOW VIEW JSON**  
(Opcional) Retorna o JSON para a especificação da visualização do Catálogo de Dados sem realmente criar uma visualização. Essa opção “dry-run” é útil quando você deseja validar o SQL para a visualização e retornar os metadados da tabela que serão usados pelo AWS Glue.

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

O exemplo apresentado a seguir cria a visualização `orders_by_date` do Catálogo de Dados com base em uma consulta na tabela `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
```

Para obter mais informações sobre o uso de visualizações do AWS Glue Data Catalog, consulte [Usar visualizações do Catálogo de Dados no Athena](views-glue.md).