Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como detectar se um procedimento armazenado já existe


Se você DROP e CREATE o procedimento, você perderá as configurações de segurança. Isso pode incomodar seu DBA ou interromper completamente seu aplicativo.

O que eu faço é criar um procedimento armazenado trivial se ele ainda não existir. Depois disso, você pode ALTERAR o procedimento armazenado ao seu gosto.
IF object_id('YourSp') IS NULL
    EXEC ('create procedure dbo.YourSp as select 1')
GO
ALTER PROCEDURE dbo.YourSp
AS
...

Dessa forma, as configurações de segurança, comentários e outros metadados sobreviverão à implantação.