89ou 发表于 2017-12-14 06:13:27

SQL Server 批量删除存储过程

  原理很简单的'drop proc xxx'即可,下面有提供了两种方式来删除存储过程,其实本质是相同的,方法一是生成删除的sql后直接执行了,方法二会生成SQL,但需要检查后执行,个人推荐第二种做法。
  
PS:温馨提示,操作数据库前,尤其是会涉及到数据库结构存储过程的修改的时候,最好先把数据库备份
  
方法一:直接复制下面的代码运行即可
declare proccur cursor  for
  select 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'
页: [1]
查看完整版本: SQL Server 批量删除存储过程