删除存储过程

适用于: 是SQL Server(所有支持的版本) 是Azure SQL 数据库 是Azure SQL 托管实例 是Azure Synapse Analytics 是并行数据仓库

本主题介绍了如何使用 SQL Server 2019 (15.x) 或 SQL Server Management Studio 在 Transact-SQL中删除存储过程。

开始之前

限制和局限

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

Security

权限

需要拥有对该过程所属架构的 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. 从所有依赖对象和脚本中删除对该过程的引用。

另请参阅

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