Currently we use separate a drop statements for each stored procedure in the script file:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N\'[
I think this is the simplest way:
DECLARE @sql VARCHAR(MAX)=''; SELECT @sql=@sql+'drop procedure ['+name +'];' FROM sys.objects WHERE type = 'p' AND is_ms_shipped = 0 exec(@sql);