

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# DROP VIEW
<a name="r_DROP_VIEW"></a>

Remove uma exibição do banco de dados. Várias exibições podem ser removidas com um único comando DROP VIEW. Esse comando é irreversível.

## Privilégios obrigatórios
<a name="r_DROP_VIEW-privileges"></a>

A seguir estão os privilégios obrigatórios para DROP VIEW:
+ Superusuário
+ Usuários com o privilégio DROP VIEW
+ Proprietário da exibição

## Sintaxe
<a name="r_DROP_VIEW-synopsis"></a>

```
DROP VIEW [ IF EXISTS ] name [, ... ] [ CASCADE | RESTRICT ] 
```

## Parâmetros
<a name="r_DROP_VIEW-parameters"></a>

IF EXISTS  
Cláusula que indica que, se a exibição especificada não existe, o comando não deve fazer alterações e deve retornar uma mensagem informando que a exibição não existe, em vez de encerrar com um erro.  
Esta cláusula é útil durante scripting para que o script não falhe se o comando DROP VIEW for executado em uma exibição não existente.

 *name*   
Nome da exibição a ser removida.

CASCADE  
Cláusula que indica que para remover automaticamente os objetos que dependem da exibição, como outras exibições.  
Para criar uma exibição que não dependa de outros objetos de banco de dados, como exibições e tabelas, inclua a cláusula WITH NO SCHEMA BINDING na definição de exibição. Para obter mais informações, consulte [CREATE VIEW](r_CREATE_VIEW.md).  
Observe que, se você incluir CASCADE e a contagem de objetos de banco de dados descartados for dez ou mais, é possível que o cliente do banco de dados não liste todos os objetos descartados nos resultados resumidos. Isso geralmente ocorre porque as ferramentas do cliente SQL têm limitações padrão nos resultados exibidos.

RESTRICT  
Cláusula que indica que a exibição não se deve ser removida se contiver objetos que dependam dela. Esta ação é o padrão.

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

O exemplo a seguir remove a exibição chamada *event*:

```
drop view event;
```

Para remover uma exibição com dependências, use a opção CASCADE. Por exemplo, digamos que vamos começar com uma tabela chamada EVENT. Criamos a exibição eventview na tabela EVENT usando o comando CREATE VIEW, conforme mostrado no seguinte exemplo: 

```
create view eventview as
select dateid, eventname, catid
from event where catid = 1;
```

Agora, criamos uma segunda exibição chamada *myeventview*, que se baseia na primeira exibição *eventview*:

```
create view myeventview as
select eventname, catid
from eventview where eventname <> ' ';
```

Neste momento, duas exibições foram criadas: *eventview* e *myeventview*.

A exibição *myeventview* é dependente da*eventview*, que é a exibição principal.

Para excluir a exibição *eventview*, o comando óbvio a ser usado é o seguinte: 

```
drop view eventview;
```

Observe que se você executa o comando nesse caso, você recebe o seguinte erro:

```
drop view eventview;
ERROR: can't drop view eventview because other objects depend on it
HINT: Use DROP ... CASCADE to drop the dependent objects too.
```

Para resolver isso, execute o seguinte comando (como sugerido na mensagem de erro): 

```
drop view eventview cascade;
```

Agora as exibições *eventview* e *myeventview* foram removidas com êxito.

O exemplo a seguir remove a exibição *eventview* se existir, ou não faz nada e retorna uma mensagem se a exibição não existir:

```
drop view if exists eventview;
```