如何检查SQL Azure中是否存在存储过程?

时间:2009-09-03 20:46:29

标签: stored-procedures azure-sql-database

我通常在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

2 个答案:

答案 0 :(得分:1)

我已经更新了问题并提供了答案。

答案 1 :(得分:1)

这也适用于SQL Azure

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