sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo detectar si un procedimiento almacenado ya existe

Si DROP y CREA el procedimiento, perderá la configuración de seguridad. Esto podría molestar a su DBA o romper su aplicación por completo.

Lo que hago es crear un procedimiento almacenado trivial si aún no existe. Después de eso, puede ALTERAR el procedimiento almacenado a su gusto.

IF object_id('YourSp') IS NULL
    EXEC ('create procedure dbo.YourSp as select 1')
GO
ALTER PROCEDURE dbo.YourSp
AS
...

De esta forma, la configuración de seguridad, los comentarios y otros metadatos sobrevivirán a la implementación.