2017-04-10 45 views
0

我有複雜的存儲過程,並將數據導入#temp表中工作正常。但是,當我從這個臨時表中過濾數據,然後我得到錯誤'無效的對象名'#temp_2'。在#temp_2表中的數據之後,我還需要打開光標。有人會告訴我如何解決它。選擇到#temp表中出現錯誤

有我的腳本:

DECLARE @sql varchar(500) 
IF @strLocations='' 
SET @sql='SELECT * into #temp_2 from #temp_1' 
ELSE 
SET @sql='SELECT * into #temp_2 from #temp_1 t where t.Location_id in (' + @strLocations + ')' 
EXEC (@sql) 

select * from #temp_2 
+0

我沒有看到任何創建表語句。 –

+1

INTO#temp_2在FROM語句之前。 – dfundako

回答

1

EXEC創建執行語句一個新的會話。當會話結束時,其中創建的任何本地臨時表都被銷燬(即丟棄)。您必須在您的EXEC聲明之前創建臨時表。

+0

謝謝。我創建了表來保留數據然後刪除它。 – user819774

相關問題