2017-05-18 49 views
-2

我想通過變量來創建臨時表像下,但我沒有得到錯誤SQL語句時,沒有正確地從變量在SQL服務器執行

Declare @cSQL varchar(Max) = 'Select top 10 * into #TempTab from Customer' 

EXEC (@cSQL) 

select * from #TempTab 

我收到以下錯誤

(10受影響的行)
消息208,級別16,狀態0,行4
無效的對象名稱#CurTemp。

+0

http://stackoverflow.com/questions/2920836/local-and-global-temporary-tables-in- sql-server – fqhv

+0

[T-SQL動態SQL和臨時表]的可能重複(http://stackoverflow.com/questions/2917728/t-sql-dynamic-sql-and-temp-tables) –

回答

0

臨時表僅適用於該範圍,不適用於外部範圍。您可能需要創建如下全局臨時表:

Declare @cSQL varchar(Max) = 'Select top 10 * into ##TempTab from Customer' 

EXEC (@cSQL) 

select * from ##TempTab 

雖然這是不可取