当前,我们为脚本文件中的每个存储过程使用单独的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]
有没有一种方法可以一次全部删除,也可以循环删除?
类似于(在使用SQL Server中的存储过程从数据库中删除所有过程中找到)。
顺便说一句,这似乎是一件 非常 危险的事情,只是一个想法…
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