Как отключить цитируемые идентификаторы при сценарии объектов базы данных SQL Server в Visual Studio?
-
30-09-2019 - |
Вопрос
Я использую Visual Studio 2005, чтобы скрепить базу данных, чтобы я мог поместить ее в подрывной деятельности. Теперь одна жалоба, которая у меня есть, заключается в том, что она помещает мою код сохраненной процедуры в одну буквальную строку, как в примере. ниже.
/****** 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 Scripts Out в качестве выполнения SQL, если вы выберете опцию
Включите, если не существует
Если вы снимаете, что сценарий генерируется так, как вы ищете.