DROP VIEW - Amazon Redshift

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

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

Für DROP VIEW sind folgende Berechtigungen erforderlich:

  • Superuser

  • Benutzer mit der Berechtigung DROP VIEW

  • Besitzer der Ansicht

Syntax

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

Parameter

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.

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

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;