如何将SELECT和INSERT命令组合到SQL Server中不存在的表中?

时间:2012-07-14 19:02:36

标签: sql-server sql-insert sql

如何组合SELECTINSERT INTO命令并将结果插入SQL Server中的临时表?

这样的事情:

INSERT INTO #TempTable 
    SELECT * FROM MyTable;

3 个答案:

答案 0 :(得分:7)

你有两个选择。首先是创建临时表,然后使用INSERT INTO ... SELECT,如下所示:

CREATE TABLE #temp (
  Col1 ...
);

INSERT INTO #temp
SELECT * FROM OtherTable;

第二个选项是直接插入新的临时表:

SELECT  *
INTO    #temp
FROM    OtherTable;

区别在于使用方法1,您需要事先指定临时表中的所有列。方法2为您提供了一个临时表,该表自动包含OtherTable的所有列。

答案 1 :(得分:5)

您想要插入尚不存在的表吗?你的语法很接近。见here

SELECT * INTO #BrandNewTempTable FROM MyTable 

答案 2 :(得分:2)

您的临时表需要与原始表相同的字段

如果不是,您需要指定所有字段,如下面的代码:

INSERT INTO TEMPORARY_TABLE (field1, field1, field1)
SELECT (field1, field1, field1) FROM YOUR_TABLE;