DROP VIEW (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

从当前数据库中删除一个或多个视图。 可对索引视图执行 DROP VIEW。

Transact-SQL 语法约定

语法

-- Syntax for SQL Server and Azure SQL Database
  
DROP VIEW [ IF EXISTS ] [ schema_name . ] view_name [ ...,n ] [ ; ]  
-- Syntax for Azure Synapse Analytics and Microsoft Fabric
  
DROP VIEW [ IF EXISTS ] [ schema_name . ] view_name [ ; ]  
-- Syntax for Parallel Data Warehouse  
  
DROP VIEW [ schema_name . ] view_name [ ; ]  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

IF EXISTS
适用范围:SQL Server(SQL Server 2016 (13.x) 到当前版本、SQL 数据库)。

只有在视图已存在时才对其进行有条件地删除。

schema_name
视图所属架构的名称。

view_name
要删除的视图的名称。

注解

删除视图时,将从系统目录中删除视图的定义和有关视图的其他信息。 还将删除视图的所有权限。

使用 DROP TABLE 删除的表上的任何视图都必须使用 DROP VIEW 显式删除。

对索引视图执行 DROP VIEW 时,将自动删除视图上的所有索引。 若要显示视图上的所有索引,请使用 sp_helpindex

通过视图进行查询时,数据库引擎将进行检查以确保语句中引用的所有数据库对象都存在,这些对象在语句的上下文中有效,以及数据修改语句没有违反任何数据完整性规则。 如果检查失败,将返回错误消息。 如果检查成功,则将操作转换为对基础表的操作。 如果基础表或视图自最初创建视图以来已发生更改,则删除并重新创建视图可能很有用。

有关确定特定视图的依赖关系的详细信息,请参阅 sys.sql_dependencies (Transact-SQL)

有关查看视图文本的详细信息,请参阅 sp_helptext (Transact-SQL)

权限

需要对视图拥有 CONTROL 权限,对包含视图的架构拥有 ALTER 权限,或者拥有 db_ddladmin 固定服务器角色中的成员身份。

示例

A. 删除视图

以下示例删除视图 Reorder

DROP VIEW IF EXISTS dbo.Reorder ;  
GO  

另请参阅

ALTER VIEW (Transact-SQL)
CREATE VIEW (Transact-SQL)
EVENTDATA (Transact-SQL)
sys.columns (Transact-SQL)
sys.objects (Transact-SQL)
USE (Transact-SQL)
sys.sql_expression_dependencies (Transact-SQL)