好運用的foreach循環容器的變量,我有一個簡單的過程...在SQL任務[SSIS]
讀表,並獲得該行有 一1「StatusID」簡單。
從PreorderStatus選擇的ProductID其中StatusID = 1個
FOREACH行從 查詢返回,執行動作。對於 簡單起見,我們只需要修改 原始表到 「StatusID」設置爲2
更新PreorderStatus設置StatusID = 2,其中的ProductID = @ProductID
爲了在做到這一點SSIS,我用第一條語句創建了一個簡單的「執行SQL任務」。在編輯器中,我已經設置了結果集返回一個完整結果集和結果名稱爲0被設置爲填充名爲ReadySet的對象變量。
輸出然後路由到For Each Loop容器。 枚舉器設置爲Foreach ADO枚舉器和從上面設置爲ReadySet變量的對象源變量。我還將變量v_ProductID映射到索引0.
在Foreach循環開始時設置斷點顯示正確設置的變量。大!!現在到第二步....
現在我已經在foreach容器中放置了一個新的SQL任務。現在我有一個頭刮刀。我如何在SQL語句中實際使用變量?簡單地使用「v___ProductID」或「User :: v_ProductID」似乎不起作用。映射一個參數似乎是一個好主意(得到@ProductID和一切!),但似乎也沒有工作。
我覺得我錯過了一些非常簡單的東西,但不知道是什麼。謝謝你的幫助!!
訣竅是 '?'。顯然,我忘記了我在SRS上的所有工作,並依靠我的存儲過程完成所有使用命名參數的工作。去搞清楚。還值得一提的是,當映射的時候?到一個可變的你使用基於零的序數位置(0,1等)。 – Craig 2009-12-10 15:29:36