2012-07-14 21 views
2

如何組合SELECTINSERT INTO命令並將結果插入到SQL Server中的臨時表中?如何將SELECT和INSERT命令合併到SQL Server中不存在的表中?

事情是這樣的:

INSERT INTO #TempTable 
    SELECT * FROM MyTable; 
+1

你看過你的問題了嗎?這是ambiguos .. – Samson 2012-07-14 19:05:54

+0

我認爲這很清楚我問了什麼! – 2012-07-14 19:10:51

+0

看到你有評論說這是模棱兩可的,很明顯別人不認爲它是! – Oded 2012-07-14 19:11:38

回答

7

你有兩個選擇。第一個是創建臨時表,然後使用INSERT INTO ... SELECT,像這樣:

CREATE TABLE #temp (
    Col1 ... 
); 

INSERT INTO #temp 
SELECT * FROM OtherTable; 

第二個選項是直接在新的臨時表中插入:

SELECT * 
INTO #temp 
FROM OtherTable; 

很大的不同使用方法1,您需要事先指定臨時表中的所有列。方法2爲您提供一個臨時表,該表可自動包含您的所有列OtherTable

2

你的臨時表需要有你的源表的字段相同

如果沒有,你需要指定一個像下面的代碼的所有領域:

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

你想要插入到還不存在的表中?你的語法很接近。請參閱here

SELECT * INTO #BrandNewTempTable FROM MyTable 
+0

有趣的是,我不知道,很好的 – GTSouza 2012-07-14 19:11:29

+0

謝謝,這就是我一直在尋找。 – 2012-07-14 19:15:56

+0

有一個問題。這個語法是否也可以在MySql中使用? – 2012-07-14 19:17:00

相關問題