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
Foi útil?

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
scroll top