Как проверить, существует ли хранимая процедура в SQL Azure?
-
21-09-2019 - |
Вопрос
Обычно я использую следующий код в 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]
Не связан с StackOverflow