DROP VIEW (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库
从当前数据库中删除一个或多个视图。 可对索引视图执行 DROP VIEW。
语法
-- 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 [ ; ]
参数
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)