目前,我们对脚本文件中的每个存储过程使用单独的a drop语句:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MySP]')
AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[MySP]
有没有办法一次把它们全部扔掉,或者循环扔掉?
目前,我们对脚本文件中的每个存储过程使用单独的a drop语句:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MySP]')
AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[MySP]
有没有办法一次把它们全部扔掉,或者循环扔掉?
大约是(在Delete All Procedures from a database using a Stored procedure in SQL Server岁时发现).
顺便说一句,这似乎是一件危险的事,只是一个 idea ...
declare @procName varchar(500)
declare cur cursor
for select [name] from sys.objects where type = 'p'
open cur
fetch next from cur into @procName
while @@fetch_status = 0
begin
exec('drop procedure [' + @procName + ']')
fetch next from cur into @procName
end
close cur
deallocate cur