Thank you Dwain,
True what you say.
I was trying not to use DROP per various blogs herein. Since posting I have done it this way.
USE <dbname>
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
declare @s-2 VARCHAR (16), @a varchar (8), @b-2 varchar (MAX)
SET @s-2='SPname'
if object_id(@S,'P') is not null
begin
set @a='ALTER'
end
else begin
set @a='CREATE'
end
set @b-2 = ' PROCEDURE [dbo].[' + @s-2 + ']
<procedure script>'
SET @b-2=@A+@B
EXEC @b-2