DROP VIEW (Transact-SQL)

Entfernt eine oder mehrere Sichten aus der aktuellen Datenbank. DROP VIEW kann in indizierten Sichten ausgeführt werden.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ]

Argumente

  • schema_name
    Ist der Name des Schemas, zu dem die Sicht gehört.

  • view_name
    Ist der Name der zu entfernenden Sicht.

Hinweise

Wenn Sie eine Sicht löschen, werden die Definition der Sicht sowie weitere Informationen zur Sicht aus dem Systemkatalog entfernt. Alle Berechtigungen für die Sicht werden ebenfalls gelöscht.

Eine mithilfe von DROP TABLE gelöschte Sicht in einer Tabelle muss explizit mit DROP VIEW gelöscht werden.

Beim Ausführen in einer indizierten Sicht löscht DROP VIEW automatisch alle Indizes der Sicht. Verwenden Sie sp_helpindex, um alle Indizes in einer Sicht anzuzeigen.

Wenn eine Abfrage über eine Sicht durchgeführt wird, überprüft Database Engine (Datenbankmodul), ob alle Datenbankobjekte, auf die in der Anweisung verwiesen wird, vorhanden sind, ob sie im Kontext der Anweisung gültig sind und ob Datenänderungsanweisungen gegen die Regeln der Datenintegrität verstoßen. Schlägt eine Überprüfung fehl, wird eine Fehlermeldung zurückgegeben. Andernfalls wird die Aktion in eine Aktion für die zugrunde liegende Tabelle bzw. Tabellen übersetzt. Haben sich die zugrunde liegenden Tabellen oder Sichten seit der ursprünglichen Erstellung der Sicht geändert, kann es hilfreich sein, die Sicht zu löschen und neu zu erstellen.

Weitere Informationen zum Bestimmen von Abhängigkeiten für eine bestimmte Sicht finden Sie unter sys.sql_dependencies (Transact-SQL).

Weitere Informationen zum Anzeigen des Sichttexts finden Sie unter sp_helptext (Transact-SQL).

Berechtigungen

Erfordert die CONTROL-Berechtigung für die Sicht, die ALTER-Berechtigung für das Schema, das die Sicht enthält, oder die Mitgliedschaft in der festen Serverrolle db_ddladmin.

Beispiele

Im folgenden Beispiel wird die Reorder-Sicht entfernt.

USE AdventureWorks2008R2 ;
GO
IF OBJECT_ID ('dbo.Reorder', 'V') IS NOT NULL
DROP VIEW dbo.Reorder ;
GO