删除存储过程
适用于: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>]; GO
从所有依赖对象和脚本中删除对该过程的引用。