2011-03-25 42 views
0

我想在SSIS中使用「執行SQL任務」來獲取要存儲在用戶變量中的值。 該文件說使用'?'作爲查詢中參數的佔位符,但是當我這樣做時,我會遇到語法錯誤,試圖解析查詢。 所以查詢是這樣的:(OLE DB)執行SQL任務 - 使用輸出參數

SELECT ? = AVG(Score) FROM Scorecards 

我也試過後加入OUTPUT「?」。我可以找到的具有輸出參數的所有示例與

相似
EXEC ? = MyStoredProc param1, param2, ... 

儘管我沒有使用存儲過程,儘管如此,爲什麼SSIS不會將它用於select語句?

+0

我在我的代碼中找不到示例,但我相信您還必須使用參數映射和/或結果集來將數據獲取到用戶變量。 – thursdaysgeek 2011-03-25 22:02:04

+0

是的,我也加入了參數映射,儘管SSIS沒有那麼深。當我按下「解析查詢」來檢查它是否認爲語句正確時,它給我一個語法錯誤。 – nuit9 2011-03-25 22:09:42

回答

2

你需要的結果集屬性設置爲單行,然後修改您的查詢是這樣的:

select avg(score) as AvgScore from ScoreCards 

然後在結果集窗格中,單擊添加,設置結果名稱AvgScore,和變量名稱變量(例如,User :: AvgScore)。

+0

我試過了。當它成功執行時,變量在任務後到達斷點時不會在變量窗口中更新。 – nuit9 2011-03-28 16:56:11

+0

變量值不會在該窗口中更新。如果您在變量上添加監視並在執行期間打開監視或本地窗口,您將能夠檢查該值。 – grapefruitmoon 2011-03-28 18:17:02

+0

這似乎工作 - 謝謝 – nuit9 2011-03-28 18:43:17