2013-01-09 59 views
2

我的ExecuteSQL任務中有多個UPDATE語句。每一個都依賴於一個可移動的例如MyIdExecuteSQL中多個參數的一個變量任務

UPDATE TABLE_A SET COL_A={Something} WHERE ID=? 
UPDATE TABLE_B SET COL_B={SomeTHing} WHERE ID=? 

此查詢以MyId變量作爲參數。

我是否需要爲我的update語句或者是有辦法讓我的ExecuteSQL任務中定義one共享參數

回答

3

另一種選擇是將連接管理器從OLE更改爲ADO.NET提供程序類型。 ADO.NET連接管理器使用named parameters而不是?,因此您可以重新使用它們而不是處理映射選項卡中的序號位置。我們經常有2個指向相同的數據庫,一個用於數據流類型組件的OLE和一個用於執行SQL任務的ADO.NET。

UPDATE TABLE_A SET COL_A={Something} WHERE [email protected]; 
UPDATE TABLE_B SET COL_B={SomeTHing} WHERE [email protected]; 
+0

當比爾,你偷了我的觀點!一如既往的好答案。 –

+2

@WilliamToddSalzman我看到了這一幕,感到一陣內疚。我會一直跟你的答案,因爲我的工作涉及更多的工作(追加配置以跟蹤)。實際上,我會「把」情況「proc化」爲一個參數,讓proc做所有的替換。 ;) – billinkc