如何在SQL Server中向现有的临时表中插入数据

13

我正在尝试将两个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
....  

但我的问题是数据库中已经有一个名为 #testingTemp 的对象

我尝试在互联网上寻找解决方案,但大多数人只面对我的第一个部分的问题,似乎没有人尝试在第二个查询中扩展临时表格?


你是否有什么特别的原因需要使用“select into”方法将值插入临时表中? - Kishore
"Select Into" 从一个表中选择并插入到另一个表中,同时创建该表。您不能在已经存在的表上使用 "select into"。 - Melon
4个回答

27

将其改为插入语句。否则,您会多次创建相同的临时表,这是不允许的。

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

6
第二个查询应该只是普通的插入操作。
    INSERT INTO #testingTemp
    (a,
     b,
     c)
   select etc. 

在完成操作后,请不要忘记删除临时表。


4

如果您想插入所有内容:

INSERT INTO #TempTableName
SELECT * FROM MyTable

0
DROP table #GTable
DECLARE @GTable TABLE (GID varchar(50))
DECLARE @GUIDs varchar(1000) 
SET @GUIDs = '6FD866AF-84D6-47A4-9C4E-F20B3F885B09,B645BAA4-DD0A-452A-9720-47F72B7FFB74,C4CE530A-930A-41A2-B451-941052D39CC5'
--SELECT  data FROM dbo.Split(@GUIDs,',')  
SELECT data into #GTable FROM dbo.Split(@GUIDs,',')  

SELECT * FROM [dbo].[tblLocations] 
WHERE [LocationGUID]in (select * from #GTable)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接