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