在 SSRS 2005 報表設計師中,資料集查詢使用區域暫存表(#tempTable)時,點擊「下一步」驗證語法時報錯:
There is an error in the query. Invalid object name '#temptb'.
導致無法進入報表設計精靈後續步驟。
SSRS 2005 設計階段的語法驗證機制,無法正確解析暫存表的動態建立與作用域,誤判為物件不存在。
DECLARE @TempTable TABLE (
Id INT,
Name NVARCHAR(50),
Amount DECIMAL(18,2)
);
INSERT INTO @TempTable SELECT ... FROM ...;
SELECT * FROM @TempTable;
SELECT TOP 0 * FROM RealTable)# 開頭)資料完全隔離,不會交叉污染## 開頭)會共享資料,報表間不可使用SSRS 2008 內建支援暫存表語法驗證,徹底解決此問題。
EXEC usp_ReportData @Param#Temp_Report_@ReportID)避免極端情況下衝突CREATE INDEX 提升後續查詢效能