引用 1 樓 的回復:exec(@sql)放到存儲過程的最后執行,不行嗎?如果這樣不行,直接在存儲過程的開始就創建數據庫表,不是臨時表或表變量。在動態sql中插入數據到該表。執行到最后再把該表drop掉。將Exec放在存儲過程最后不行,因為要先查詢出來結果,然后處理完了才能將結果返回出去.-----------------------------------------------------------------------------------------------------------------------------------------------引用 2 樓 的回復:這個問題之前也有其他網友問過。我覺得是否可以這樣,首先在exec中 * into 到一個全局臨時表 ##, 注意這個表的名字是動態的,這樣保證多次執行時,不會因為全局臨時表的名稱一樣,而報錯。然后sql 查詢作為臨時表,執行完exec語句后,這個全局臨時表應該還存在sql 查詢作為臨時表,那么 * into #xx from ##來創建局部臨時表,然后再刪除全局臨時表,然后操作,最后刪除局部臨時表經測試,exec中查出來放到一個全局臨時表中也是不行的,全局臨時表在exec外部仍然是無法訪問的.-------------------------------------------------------------------------------------------------------------------------------------------------------------另外,謝謝兩位的回復,問題尚未解決,希望能得到更多人的幫助.謝謝謝謝