Como verifico se existe um procedimento armazenado no SQL Azure?
-
21-09-2019 - |
Pergunta
Eu normalmente uso o seguinte código no SQL Server:
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[proc_MyProc]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[proc_MyProc]
GO
Como faço isso no SQL Azure? Recebo uma mensagem de erro: "Nome do objeto inválido 'sysobjects'."
Adicionado:
O erro foi de fato na verificação se o procedimento armazenado existisse e encontrou código para fazer isso:
IF EXISTS (SELECT Routine_Name from information_schema.Routines WHERE Routine_Name = 'proc_MyProc')
DROP PROCEDURE [proc_MyProc]
GO
Solução
Eu atualizei a pergunta e forneci a resposta.
Outras dicas
Isso também funciona no SQL Azure
if object_id('[dbo].[proc_MyProc]') is not null
DROP PROCEDURE [proc_MyProc]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow