删除视图

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics分析平台系统(PDW)Microsoft Fabric中的SQL数据库

可以使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 数据库引擎中删除(丢弃)视图

限制和局限

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

  • 任何通过 DROP TABLE 删除的表视图,都必须通过 DROP VIEW 显式删除。

权限

需要对 SCHEMA 具有 ALTER 权限,或对 OBJECT 具有 CONTROL 权限。

使用 SQL Server Management Studio

  1. “对象资源管理器”中,展开包含要删除的视图的数据库,然后展开 “视图” 文件夹。

  2. 右键单击要删除的视图,然后选择“删除”

  3. 在“删除对象”对话框中,选择“确定”

    重要

    删除对象对话框中选择显示依赖项,以打开view_name 依赖项对话框。 这将显示依赖于该视图的所有对象和该视图依赖的所有对象。

使用 Transact-SQL

  1. “对象资源管理器” 中,连接到数据库引擎实例。

  2. 在标准栏上,选择“新建查询” 。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 该示例仅在指定视图已存在时才删除该视图。

    USE AdventureWorks2022;
    GO
    
    IF OBJECT_ID('HumanResources.EmployeeHireDate', 'V') IS NOT NULL
        DROP VIEW HumanResources.EmployeeHireDate;
    GO
    

    还可以使用 SQL Server 2016 (13.x) 中引入的 IF EXISTS 语法:

    USE AdventureWorks2022;
    GO
    
    DROP VIEW IF EXISTS HumanResources.EmployeeHireDate;
    GO
    

后续步骤