Поделиться через


DROP VIEW (Transact-SQL)

Удаляет одно или несколько представлений из текущей базы данных. Инструкцию DROP VIEW можно выполнять для индексированных представлений.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

  • schema_name
    Имя схемы, к которой принадлежит представление.

  • view_name
    Имя удаляемого представления.

Замечания

При удалении представления из системного каталога удаляется его определение и другие сведения о нем. Все связанные с представлением разрешения также удаляются.

Любое представление таблицы, удаленной с помощью инструкции DROP TABLE, нужно удалять явно, с помощью инструкции DROP VIEW.

При применении инструкции DROP VIEW к индексированному представлению автоматически удаляются все индексы представления. Чтобы отобразить все индексы представления, используйте хранимую процедуру sp_helpindex.

При выполнении запросов к представлению компонент Database Engine проверяет, существуют ли все указанные в инструкции объекты базы данных, правильны ли они в контексте инструкции и соответствуют ли инструкции, изменяющие данные, правилам обеспечения целостности данных. Если проверка завершается ошибкой, возвращается сообщение об ошибке. При успешной проверке операция преобразуется в операцию над базовой таблицей или таблицами. Если с момента создания представления изменились базовые таблицы или представления, может быть целесообразным удаление представления и его повторное создание.

Дополнительные сведения об определении зависимостей конкретного представления см. в разделе sys.sql_dependencies (Transact-SQL).

Дополнительные сведения о просмотре текста представления см. в разделе sp_helptext (Transact-SQL).

Разрешения

Необходимо разрешение CONTROL для представления, разрешение ALTER для схемы, содержащей представление, или членство в предопределенной роли базы данных db_ddladmin.

Примеры

В следующем примере удаляется представление Reorder.

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