Create of alter for stored procedures and views etc

It's better to alter a stored procedure than to drop it and re create it.

(It's better because it doesn't drop any 'custom' grants you've applied. And it's less typing.)

But here's something that's better again:

create or alter procedure MySproc

...because: no need to test for existence before creating

No more:

if exists ( select *
        from   sysobjects
        where  id = object_id(N'[dbo].[MySproc]')
               and objectproperty(id, N'IsProcedure') = 1 )
begin
	--create procedure [dbo].[MySproc]
end
else
begin
	--alter procedure [dbo].[MySproc]
end