Visual Studio 2005を使用してデータベースのスクリプトを作成し、Subversionに配置できるようにしています。今私が持っている不満の1つは、例のように、ストアドプロシージャコードが単一のリテラル文字列に入れられることです。下。
/****** 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'
そもそもこのようにする動機は何ですか?文字列の引用は常に私の盲点のようなトピックでしたので、私はすべての影響を認識していないと確信しています。それが何のためにあるのかを理解していれば、私はこの振る舞いをもっと受け入れるかもしれません。