我已经将代码分类为“连贯的块”,可以一遍又一遍地插入较长的“配置脚本”中,而我使用的模式之一是:
CREATE TABLE #WidgetSetting
(
WidgetID bigint not null,
Name nvarchar(100) not null,
Value nvarchar(max) not null,
CreateDate datetime not null
)
INSERT VALUES
MERGE TABLES
DROP TABLE #WidgetSetting
但是现在SSMS抱怨到下次CREATE TABLE
火灾时该对象已经存在。是什么赋予了?
我认为很明显,我将不得不在脚本开始时声明一次表,然后截断而不是删除,但是自然地,令人沮丧的是,无法仅删除表并再次使用相同的名称。
正如Aaron在下面评论的那样,如果这是您采用的方法,那么最简单的解决方法可能是将#TABLE放在脚本的最后,然后在它们之间的步骤中将其截断。这是假设不可能仅仅重新设计脚本以使其在不同的地方工作。:)
—
卡恩(Kahn)
实际上,这就是我要解决的问题。我只是对这种行为感到困惑。他解释了为什么要解决这个问题而不是如何解决。
—
jcolebrand