我在寫存儲過程。我有一個字符串,其中包含一個SQL查詢。例如:SQL服務器 - 從執行的查詢字符串在臨時表中動態填充結果
DECLARE @sql nvarchar(max)
SET @sql = (N'SELECT pkOrderID FROM Orders')
(只是要注意:這不是select語句看起來這只是我的意思爲例)然後,我想執行的字符串,並把結果在一個臨時表例如#tempTable。我知道EXEC(@sql)存在,但不知道在這種情況下它是否會對我有好處。另一個問題是,我不知道返回的@sql中所有列的名稱,所以臨時表#tempTable需要基於@sql的返回而創建。謝謝你的幫助。
雅我剛碰到超出範圍問題。讓我試一試 – frontin 2014-10-27 00:58:03
當我嘗試使用DROP TABLE ## tempTable在sp的末尾刪除表時。它說不能下降,因爲它不存在或我沒有權限。我猜它認爲它不存在,但它的確如此,因爲它正確地執行了字符串語句...... – frontin 2014-10-27 01:26:04
創建表的會話結束時,全局臨時表(## table)會自動刪除,並且每當任何其他TSQL引用該表已完成。 – JohnS 2014-10-27 01:58:09