删除存储过程

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

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中删除存储过程。

限制和局限

如果依赖对象和脚本尚未更新以反映过程的删除,则删除过程可能会导致这些对象和脚本失败。 但是,如果创建了具有相同名称和参数的新过程来替换已被删除的过程,那么引用该过程的其他对象仍能成功处理。 有关详细信息,请参阅 查看存储过程的依赖关系

权限

需要拥有对该过程所属架构的 ALTER 权限,或对该过程的 CONTROL 权限。

使用 SQL Server Management Studio

  1. 在对象资源管理器中,连接到 数据库引擎 的实例,然后展开该实例。

  2. 展开 “数据库” 、过程所属的数据库以及 “可编程性”

  3. 展开“存储过程”,右键单击要删除的过程,再选择“删除”。

  4. 若要查看依赖于过程的对象,请选择“显示依赖关系”。

  5. 确认选择了正确的过程,再选择“确定”。

  6. 从所有依赖对象和脚本中删除对该过程的引用。

使用 Transact-SQL

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

  2. 展开 “数据库” 、过程所属的数据库,或者从工具栏,从可用数据库列表选择该数据库。

  3. 在“文件”菜单上,选择“新建查询”。

  4. 获取要在当前数据库中删除的存储过程的名称。 从对象资源管理器,展开 “可编程性” ,再展开 “存储过程” 。 或者,在查询编辑器中,运行以下语句:

    SELECT name AS procedure_name
        , SCHEMA_NAME(schema_id) AS schema_name
        , type_desc
        , create_date
        , modify_date
    FROM sys.procedures;
    
  5. 将以下示例复制并粘贴到查询编辑器,然后插入要从当前数据库中删除的存储过程名称。

    DROP PROCEDURE [<stored procedure name>];
    GO
    
  6. 从所有依赖对象和脚本中删除对该过程的引用。

另请参阅