Как проверить, существует ли хранимая процедура в SQL Azure?

StackOverflow https://stackoverflow.com/questions/1375855

Вопрос

Обычно я использую следующий код в 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

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

Добавлен:

На самом деле ошибка заключалась в проверке существования хранимой процедуры и обнаружении кода для этого:

IF  EXISTS (SELECT Routine_Name from information_schema.Routines WHERE Routine_Name = 'proc_MyProc')
DROP PROCEDURE [proc_MyProc]
GO
Это было полезно?

Решение

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

Другие советы

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

if object_id('[dbo].[proc_MyProc]') is not null
  DROP PROCEDURE [proc_MyProc]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top