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

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

限制和局限

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

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

使用 SQL Server Management Studio

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

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

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

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

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

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

    使用 Transact-SQL

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

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

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

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

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

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

  • 创建存储过程
  • 修改存储过程
  • 重命名存储过程
  • 查看存储过程的定义
  • 查看存储过程的依赖关系
  • DROP PROCEDURE (Transact-SQL)
  •