كيف يمكنني تعطيل المعرفات المقتبسة عند البرمجة النصية للكائنات قاعدة بيانات SQL Server في Visual Studio؟
-
30-09-2019 - |
سؤال
أنا أستخدم Visual Studio 2005 لإرسال قاعدة بيانات حتى أتمكن من وضعها في Subversion. الآن هناك شكوى واحدة لدي هي أنها تضع رمز الإجراء المخزن في سلسلة حرفية واحدة ، كما في المثال. أقل.
/****** Object: StoredProcedure [dbo].[MyStoredProc] Script Date: 08/19/2010 16:40:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[MyStoredProc]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
BEGIN
EXEC dbo.sp_executesql @statement = N'
CREATE PROCEDURE [dbo].[MyStoredProc]
-- My T-SQL code here
END'
END
GO
لا أحب هذا لأنه بعد ذلك ، فإن تسليط الضوء على بناء الجملة عديم الفائدة. هل هناك على أي حال يمكنني إيقاف تشغيل هذا السلوك ، أي بحيث يزيل
EXEC dbo.sp_executesql @statement = N'
جزء؟
ما هو الدافع للقيام بذلك بهذه الطريقة في المقام الأول؟ كان الاقتباس للسلسلة دائمًا موضوعًا إلى حد ما من مجموعة أعمى لي ، لذا فأنا متأكد من أنني لست على دراية بكل الآثار المترتبة. قد أكون أكثر قبولًا لهذا السلوك إذا فهمت ما هو عليه.
شكرًا
المحلول
يقوم SQL Server Management Studio Scrips out بتنفيذ SQL إذا قمت بتحديد الخيار
تشمل إن لم يكن موجودًا
إذا قمت بإلغاء تحديد أن البرنامج النصي يتم إنشاؤه كما تبحث عنه.