我想從一個執行路徑通過一個臨時表到另一個嵌套在側它傳遞臨時表從一個執行到另一個
我曾嘗試是這樣的:
DECLARE @SQLQuery AS NVARCHAR(MAX)
SET @SQLQuery = '
--populate #tempTable with values
EXECUTE('SELECT TOP (100) * FROM ' + tempdb..#tempTable)
EXECUTE sp_executesql @SQLQuery
但它失敗與此錯誤消息:
附近有語法錯誤的tempdb'
在執行上下文之間傳遞臨時表是否有其他更好的方法?
我會在幾乎所有情況下避免全局臨時表。他們有一些常常被忽視的嚴重問題。它們可用於任何連接,因此併發性是一場噩夢。 –
我把這個問題看成是「我想把臨時表從一個執行路徑傳遞給另一個執行路徑」,並且沒有看到下一個短語「嵌套在裏面」。對於不同上下文中的不同執行路徑,很少有選項可用,而全局臨時表是保存中間聚合數據以供其他調用者以後使用的良好解決方案。如果一切都在同一個查詢會話中,完全同意 - 我不會使用全局臨時表。 – Cahit
在SQL作業中創建全局臨時表如何更安全? –