2009-09-03 176 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] 
相關問題