如何组合SELECT
和INSERT INTO
命令并将结果插入SQL Server中的临时表?
这样的事情:
INSERT INTO #TempTable
SELECT * FROM MyTable;
答案 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;