删除视图

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

可以使用 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
    

后续步骤