mssql sqlserver 批量刪除所有儲存過程的方法分享

Adeal2008發表於2018-07-14

轉自:http://www.maomao365.com/?p=6864

摘要:
下文講述採用sql指令碼批量刪除所有儲存過程的方法,如下所示:
實驗環境:sqlserver 2008 R2


平常使用sql指令碼,刪除儲存過程,我們只可以使用刪除命令一條一條的刪除儲存過程,下文介紹一種簡便方法,可以對系統中所有的儲存過程進行刪除,
<span style=”color:red;”>
實現思路:
1 採用臨時表將儲存過程名稱快取
2 通過迴圈臨時表,輸出刪除儲存過程指令碼
3 執行指令碼

declare @t table(keyId int identity(1,1),tableName varchar(256))
----生成臨時表
insert into @t(tableName) 
select [name] from sysobjects where type=`P`

declare @i int @iMax int ,@info varchar(256)
set @i =1 
select @imax=max(keyId) from @t as t

while @i <@imax
begin
select @info = t.tableName from @t as t where t.keyId =@i

if @info is not null 
begin
exec (`drop proc `+@info) ---遍歷刪除儲存過程
end 

set @i = @i+1 
set @info =null 
end

 

相關文章