2012-09-14 43 views
0

OK於是我在SSIS包方面的完整的小白......使用變量中執行SQL任務查詢

我真的要執行一個存儲過程,在在foreach的每次迭代中需要使用不同的參數值循環。所以我想知道如果任何人都可以給我我怎麼可以使用Execute SQL Task像這裏面的變量值的示例(非常非常非常基本的例子):

UPDATE tbName SET c1 = Var1, C2 = Var2 etc... 

OR

@bDate = VarDate1 
@eDate = VarDate2 

其中Var2, VarDate1, VarDate2 BIDS中的變數

請幫忙!!

回答

0

首先您需要在SQL Server端創建存儲過程。這是通過這樣的陳述完成的。在此之後,數據庫中將存在名爲「yourProcedure」的新存儲過程對象。

CREATE PROCEDURE yourProcedure 
    @pKeyVar int,     /* declare variables to be passed here */ 
    @pFirstVar varchar(40), 
    @pSecondVar int, 
    @pThirdVar decimal(18,2) 
AS 
BEGIN 

    Update yourTable Set   /* place what will be done here */ 
     Col1 = @pFirstVar, 
     Col2 = @pSecondVar, 
     Col3 = @pThirdVar 
    WHERE KeyColumn = @pKeyVar 

END 
GO 

一旦該存儲過程已被創建,你可以這樣調用:

exec dbo.yourProcedure 12345, 'string value', 2, 2.05 

有幾個方法可以從SSIS調用它,但最常見的是Execute SQL Task。您可以映射將傳遞給保存內容的變量的參數,並將任務放入循環邏輯中。

Here is a decent walkthrough of the Execute SQL Task.

狠抓變量上映射參數的部分等SSIS的版本是2005年,但這些概念都是一樣的。


更新後評論。

爲了遍歷一個記錄,並獲得價值傳遞迴PROC就可以按照信息provided in this article.

+0

對不起我的問題可能不清晰。我想遍歷表動態設置變量名稱,然後使用這些變量值作爲過程的參數 – anpatel

+0

增加了更多信息循環雖然記錄集 – RThomas