如何插入SQL Server中的现有临时表

时间:2014-01-07 09:18:27

标签: sql sql-server temp-tables

我正在尝试将两个select语句执行到将数据泵入临时表的查询中。第一个查询将有5列,而第二个查询只有一列。

第一个可以通过以下方式实现:

Select a.ID AS [a], 
       b.ID AS [b], 
       c.ID AS [c]
INTO #testingTemp
FROM
....

现在我的第二个查询试图将数据输入#testingTemp

Select z.ID AS [c]
INTO #testingTemp
FROM
....  

但我的问题是There is already an object named #testingTemp in the database

我试图在互联网上搜索解决方案,但大多数人只是在我的第一部分遇到问题,但显然没有人试图在第二次查询时扩展临时表?

3 个答案:

答案 0 :(得分:17)

将其更改为insert into语句。否则,您将多次创建相同的临时表,并且不允许这样做。

Insert into #testingTemp (a,b,c)
Select a.ID AS [a], 
       b.ID AS [b], 
       c.ID AS [c]
FROM

答案 1 :(得分:6)

第二个查询应该是普通插入。

    INSERT INTO #testingTemp
    (a,
     b,
     c)
   select etc. 

不要忘记在完成后放弃临时表。

答案 2 :(得分:2)

如果你想插入所有内容:

INSERT INTO #TempTableName
SELECT * FROM MyTable