

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

Entfernt eine Ansicht aus der Datenbank. Mit einem einzigen DROP VIEW-Befehl können mehrere Ansichten entfernt werden. Dieser Befehl kann nicht rückgängig gemacht werden.

## Erforderliche Berechtigungen
<a name="r_DROP_VIEW-privileges"></a>

Für DROP VIEW sind folgende Berechtigungen erforderlich:
+ Superuser
+ Benutzer mit der Berechtigung DROP VIEW
+ Besitzer der Ansicht

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

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

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

IF EXISTS  
Eine Klausel, die angibt, dass der Befehl keine Änderungen ausführen und die Meldung zurückgeben soll, dass die Ansicht nicht vorhanden ist, statt mit einem Fehler beendet zu werden, wenn die angegebene Ansicht nicht vorhanden ist.  
Diese Klausel ist beim Scripting nützlich, damit das Skript nicht fehlschlägt, wenn DROP VIEW für eine nicht vorhandene Ansicht ausgeführt wird.

 *Name*   
Das Name der Ansicht, die entfernt werden soll.

CASCADE  
Eine Klausel, die angibt, dass Objekte, die von der Ansicht abhängig sind, automatisch entfernt werden sollen, beispielsweise andere Ansichten.  
Zum Erstellen einer Ansicht, die von keinen anderen Datenbankobjekten abhängig ist, wie etwa Ansichten und Tabellen, fügen Sie die Klausel WITH NO SCHEMA BINDING in die Ansichtsdefinition ein. Weitere Informationen finden Sie unter [CREATE VIEW](r_CREATE_VIEW.md).  
Beachten Sie, dass Ihr Datenbank-Client möglicherweise nicht alle entfernten Objekte in den Übersichtsergebnissen auflistet, wenn Sie CASCADE einbeziehen und die Anzahl der entfernten Datenbankobjekte auf zehn oder mehr steigt. Dies liegt in der Regel daran, dass SQL-Client-Tools Standard-Limits für die zurückgegebenen Ergebnisse haben.

RESTRICT  
Eine Klausel, die angibt, dass eine Ansicht nicht entfernt werden soll, wenn von ihr Objekte abhängig sind. Diese Aktion ist die Standardeinstellung.

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

Im folgenden Beispiel wird die Ansicht namens *event* entfernt:

```
drop view event;
```

Um eine Ansicht zu entfernen, von der Objekte abhängig sind, verwenden Sie die Option CASCADE. Nehmen Sie an, Sie beginnen mit einer Tabelle namens EVENT. Anschließend erstellen Sie die Ansicht „eventview“ der Tabelle EVENT mit dem Befehl CREATE VIEW wie im folgenden Beispiel gezeigt: 

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

Als Nächstes erstellen Sie eine zweite Ansicht namens *myeventview*, die auf der ersten Ansicht namens *eventview* basiert:

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

An diesem Punkt wurden zwei Ansichten erstellt: *eventview* und *myeventview*.

Die Ansicht *myeventview* ist eine untergeordnete Ansicht der übergeordneten Ansicht *eventview*.

Um die Ansicht *eventview* zu löschen, verwenden Sie den folgenden Befehl: 

```
drop view eventview;
```

Beachten Sie, dass der folgende Fehler angezeigt wird, wenn Sie diesen Befehl in dieser Situation ausführen:

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

Um dieses Problem zu lösen, führen Sie den folgenden Befehl aus (wie von der Fehlermeldung vorgeschlagen): 

```
drop view eventview cascade;
```

Nun wurden sowohl *eventview* als auch *myeventview* erfolgreich entfernt.

Im folgenden Beispiel wird entweder die Ansicht *eventview* gelöscht, wenn sie vorhanden ist, oder es erfolgt keine Aktion, und es wird eine Meldung zurückgegeben, wenn die Ansicht nicht vorhanden ist:

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