在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更有意義相同的代碼)