Useful script to delete all stored procedures or all procedures with a certain name pattern e.g. all that start with sp etc.  Developed for SQL Server 2008 R2  
2 parts: the first creates a table variable and puts in there the names of the SPs to delete from the information schema. Part 2 cycles through that table variable executing the DROP PROCEDURE command.
Hope that helps, Jon Bosker, DB Gurus, 25 Nov 2015
--------------------------------------------------------------
-- You can set a name pattern of stored procedures to delete:
-- e.g SET @sPattern = 'sp%' to just delete procedures that start with sp
DECLARE @sPattern varchar(MAX)
SET @sPattern = '%'  --<<-- all SPs
DECLARE @t TABLE
(
 SPName varchar(8000),
 id int identity(1,1)
)
INSERT INTO @t
 SELECT SPECIFIC_SCHEMA  + '.[' + SPECIFIC_NAME + ']' FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_NAME LIKE @sPattern
-- SELECT * FROM @t
DECLARE @sSQL varchar(8000)
DECLARE @counter int
SET @counter = 1
WHILE EXISTS(SELECT * FROM @t WHERE id >= @counter)
BEGIN
 SELECT @sSQL = 'DROP PROCEDURE ' + SPName  FROM @t WHERE id = @counter
 PRINT @sSQL
 EXEC (@sSQL)  -- comment out this line to test it first
 SET @counter = @counter + 1
END 
No comments:
Post a Comment