2009-09-03 2 views
0

Я обычно использую следующий код в SQL Server:Как проверить, существует ли хранимая процедура в SQL Azure?

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 

Как это сделать в SQL Azure? Я получаю сообщение об ошибке: «Недопустимое имя объекта« sysobjects ».»

Добавлено:

Ошибка была в том, в проверке, если существует хранимая процедура и нашел код, чтобы сделать это:

IF EXISTS (SELECT Routine_Name from information_schema.Routines WHERE Routine_Name = 'proc_MyProc') 
DROP PROCEDURE [proc_MyProc] 
GO 

ответ

0

Я обновил этот вопрос и дает ответ.

1

Это также работает в SQL Azure

if object_id('[dbo].[proc_MyProc]') is not null 
    DROP PROCEDURE [proc_MyProc]