我正在使用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脚本作为执行SQL,如果您选择了选项

如果不存在

如果您取消选中脚本在寻找时生成的脚本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top