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


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

Разрешения

Чтобы выполнить инструкцию DROP VIEW необходимо как минимум разрешение ALTER на схему или разрешение CONTROL на объект.

Примеры

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

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