كيف يمكنني التحقق مما إذا كان هناك إجراء مخزن في 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