1

我正在使用 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'

首先这样做的动机是什么?字符串引用一直是我的一个盲点,所以我确信我不知道所有的含义。如果我了解它的用途,我可能会更接受这种行为。

4

1 回答 1

2

如果选择该选项,SQL Server Management Studio 将脚本输出为执行 SQL

如果不存在则包括

如果您取消选中脚本是按照您的要求生成的。

于 2010-08-20T11:33:51.950 回答