SQL Server 批量删除存储过程

时间:2022-10-22 15:28:40

       原理很简单的'drop proc xxx'即可,下面有提供了两种方式来删除存储过程,其实本质是相同的,方法一是生成删除的sql后直接执行了,方法二会生成SQL,但需要检查后执行,个人推荐第二种做法。

PS:温馨提示,操作数据库前,尤其是会涉及到数据库结构存储过程的修改的时候,最好先把数据库备份

方法一:直接复制下面的代码运行即可

declare proccur cursor
for
select [name] from sysobjects where type='P'
declare @procname varchar(100)
open proccur
fetch next from proccur into @procname
while(@@FETCH_STATUS = 0)
begin
exec('drop proc ' + @procname)
print(@procname + '已被删除')
fetch next from proccur into @procname
end
close proccur
deallocate proccur

方法二:查出所有存储过程的名称并拼出删除存储过程的sql语句,然后执行这些sql语句

    select 'drop proc '+name from sysobjects where type='p'