

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Rimuove una vista dal database. È possibile rimuovere più viste con un singolo comando DROP VIEW. Questo comando è irreversibile.

## Privilegi richiesti
<a name="r_DROP_VIEW-privileges"></a>

Di seguito sono riportati i privilegi richiesti per DROP VIEW:
+ Superuser
+ Utenti con il privilegio DROP VIEW
+ Proprietario della visualizzazione

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

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

## Parameters
<a name="r_DROP_VIEW-parameters"></a>

IF EXISTS  
Clausola che indica che se la vista specificata non esiste, il comando non deve apportare modifiche e deve restituire un messaggio che la vista non esiste, piuttosto che terminare con un errore.  
Questa clausola è utile durante lo scripting, quindi lo script ha esito positivo se DROP VIEW viene eseguito su una vista inesistente.

 *name*   
Nome della vista da rimuovere.

CASCADE  
Clausola che indica di rimuovere automaticamente gli oggetti che dipendono dalla vista, come altre viste.  
Per creare una vista che non dipende da altri oggetti del database, come viste e tabelle, includi la clausola WITH NO SCHEMA BINDING nella definizione della vista. Per ulteriori informazioni, consulta [CREATE VIEW](r_CREATE_VIEW.md).  
Tieni presente che se includi CASCADE e il numero di oggetti del database rimossi è pari o superiore a dieci, è possibile che il client del database non elenchi tutti gli oggetti rimossi nei risultati di riepilogo. In genere ciò è dovuto al fatto che gli strumenti del client SQL hanno limitazioni predefinite per i risultati restituiti.

RESTRICT  
Clausola che indica di non eliminare la vista se sono presenti oggetti che dipendono da essa. Questa operazione costituisce l'impostazione predefinita.

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

L'esempio seguente rimuove la vista denominata *event*:

```
drop view event;
```

Per rimuovere una vista con dipendenze, utilizza l'opzione CASCADE. Ad esempio, supponiamo di iniziare con una tabella denominata EVENT. Creiamo quindi la vista eventview della tabella EVENT, usando il comando CREATE VIEW, come mostrato nel seguente esempio: 

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

Ora creiamo una seconda vista chiamata *myeventview*, che si basa sulla prima vista *eventview*:

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

A questo punto, sono state create due viste: *eventview* e *myeventview*.

La vista *myeventview* è una vista figlio con *eventview* come padre.

Per eliminare la vista *eventview*, il comando da usare è il seguente: 

```
drop view eventview;
```

Tieni presente che se esegui il comando in questo caso, viene restituito il seguente errore:

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

Per rimediare, emettere il seguente comando (come suggerito nel messaggio di errore): 

```
drop view eventview cascade;
```

A questo punto la rimozione delle due viste *eventview* e *myeventview* è stata completata.

Nell'esempio seguente viene rimossa la vista *eventview* se esiste oppure non viene eseguita alcuna operazione e viene restituito un messaggio se non esiste:

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