0

私は通常、SQLServerで次のコードを使用します。

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
4

2 に答える 2

1

質問を更新し、回答を提供しました。

于 2009-09-04T00:09:34.283 に答える
1

これはSQLAzureでも機能します

if object_id('[dbo].[proc_MyProc]') is not null
  DROP PROCEDURE [proc_MyProc]
于 2009-10-09T22:30:33.240 に答える