2010-04-09 108 views
0

我有一個臨時表SQL Server:如何插入臨時表? ?

CREATE TABLE #TEMP (TEMP_ID INT IDENTITY(1,1)) 

而且我想將記錄插入到該表,我怎麼能怎麼辦如下:

INSERT INTO #TEMP DEFAULT VALUES 

但有時這是行不通的。它可能是什麼?我想知道SQL Server中生命週期的一生。請幫幫我!

謝謝大家!

回答

2

不確定你的意思是「有時它不起作用」。

但是,本地臨時表(單個#)生存期是當前會話或作用域(例如存儲過程或函數持續時間)。 CREATE TABLE on MSDN作爲更多與「臨時表」中的示例

2

適合我!

CREATE TABLE #TEMP (TEMP_ID INT IDENTITY(1,1)) 

--And I would like to insert records to that table, How can I?I do as follow: 

INSERT INTO #TEMP DEFAULT VALUES 
INSERT INTO #TEMP DEFAULT VALUES 
INSERT INTO #TEMP DEFAULT VALUES 
INSERT INTO #TEMP DEFAULT VALUES 

select * from #TEMP 

給出:

TEMP_ID 
1 
2 
3 
4 

記住它需要是相同的 「批次」 或單查詢等

PK :-)

+1

相同的連接/範圍,而不是批處理。您可以在CREATE TABLE和INSERT之間運行 – gbn 2010-04-09 03:59:12

1

這看起來不錯。還有INSERT INTO #TEMP (TEMP_ID) VALUES (DEFAULT)。當你說有時它不起作用時,你會得到什麼錯誤? #表格只有會話的生命週期和範圍。