DROP VIEW (Transact-SQL)

Rimuove una o più viste dal database corrente. È possibile eseguire l'istruzione DROP VIEW su viste indicizzate.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • schema_name
    Nome dello schema a cui appartiene la vista.

  • view_name
    Nome della vista da rimuovere.

Osservazioni

Quando si rimuove una vista, dal catalogo di sistema vengono eliminate la definizione e altre informazioni della vista. Vengono inoltre eliminate tutte le autorizzazioni per la vista.

Qualsiasi vista di una tabella che viene eliminata tramite DROP TABLE deve essere eliminata in modo esplicito con DROP VIEW.

Quando viene eseguita su una vista indicizzata, l'istruzione DROP VIEW elimina automaticamente tutti gli indici della vista. Per visualizzare tutti gli indici di una vista, utilizzare sp_helpindex.

Quando si esegue una query tramite una vista, Motore di database verifica che tutti gli oggetti di database a cui viene fatto riferimento nell'istruzione esistano e siano validi nel contesto dell'istruzione. Inoltre, verifica che le istruzioni di modifica dei dati non violino le regole di integrità dei dati. Se la verifica ha esito negativo, viene visualizzato un messaggio di errore. In caso contrario, l'azione viene convertita automaticamente in un'azione sulle tabelle sottostanti. Se le tabelle o viste sottostanti sono state modificate dopo la creazione della vista, può risultare utile eliminare e ricreare la vista.

Per ulteriori informazioni su come individuare le dipendenze per una vista specifica, vedere sys.sql_dependencies (Transact-SQL).

Per ulteriori informazioni sulla visualizzazione del testo della vista, vedere sp_helptext (Transact-SQL).

Autorizzazioni

Richiede l'autorizzazione CONTROL per la vista, l'autorizzazione ALTER per lo schema contenente la vita o l'appartenenza al ruolo predefinito del server db_ddladmin.

Esempi

Nell'esempio seguente viene rimossa la vista Reorder.

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