在MS SQL Server Management Studio中2005:SQL工作室 - “修改存储过程” 中的脚本错误
如果你有设置工具|选项|脚本| “包括IF NOT EXISTS子句” 设置为true,修改存储过程将创建一个甚至不起作用的奇怪脚本。它看起来像下面这样:(省略号用于缩写)
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS [...]
BEGIN
EXEC dbo.sp_executesql @statement = N'
ALTER procedure [dbo].[p_Procedure]
[...]
'
END
这显然是行不通的,因为ALTER语句被称为唯一的办法,就是如果存储过程不存在。
问题是这样的:有什么方法可以改变这个生成的代码?某处有模板(这似乎与模板工具中的构建无关)?
(这种行为有轻微的解释:脚本CREATE语句生成其中IF NOT EXISTS更有意义相同的代码)