我有一个将SELECT INTO运行到表中的脚本。据我所知,没有其他程序可能同时引用/修改此表。但是,偶尔会出现以下错误:
在创建目标表后更改了架构。重新运行选择 进入查询。
什么可能导致此错误,我该如何避免?
我做了一些谷歌搜索,this link表明如果没有一些疯狂的try-catch-retry逻辑,SELECT INTO就无法安全使用。这是真的吗?
我正在使用SQLServer 2012。
答案 0 :(得分:2)
除非您事先不知道字段和数据类型,否则我建议先创建表,然后使用Insert语句添加数据。在您的链接中,David Moutray建议同样的事情,这是他的示例代码逐字:
CREATE TABLE #TempTableY (ParticipantID INT NOT NULL);
INSERT #TempTableY (ParticipantID)
SELECT ParticipantID
FROM TableX;