有没有办法安全地运行SELECT INTO?

时间:2013-09-11 21:32:24

标签: sql sql-server select-into

我有一个将SELECT INTO运行到表中的脚本。据我所知,没有其他程序可能同时引用/修改此表。但是,偶尔会出现以下错误:

  

在创建目标表后更改了架构。重新运行选择   进入查询。

什么可能导致此错误,我该如何避免?

我做了一些谷歌搜索,this link表明如果没有一些疯狂的try-catch-retry逻辑,SELECT INTO就无法安全使用。这是真的吗?

我正在使用SQLServer 2012。

1 个答案:

答案 0 :(得分:2)

除非您事先不知道字段和数据类型,否则我建议先创建表,然后使用Insert语句添加数据。在您的链接中,David Moutray建议同样的事情,这是他的示例代码逐字:

CREATE TABLE #TempTableY (ParticipantID  INT  NOT NULL);

INSERT #TempTableY (ParticipantID)
SELECT ParticipantID
FROM   TableX;