我的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
共享參數
我的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
共享參數
試試這個有儘可能多的參數:
DECLARE @id int
SELECT @id = ?
UPDATE TABLE_A SET COL_A={Something} WHERE [email protected]
UPDATE TABLE_B SET COL_B={Something} WHERE [email protected]
另一種選擇是將連接管理器從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];
當比爾,你偷了我的觀點!一如既往的好答案。 –
@WilliamToddSalzman我看到了這一幕,感到一陣內疚。我會一直跟你的答案,因爲我的工作涉及更多的工作(追加配置以跟蹤)。實際上,我會「把」情況「proc化」爲一個參數,讓proc做所有的替換。 ;) – billinkc
完美地工作 – InTheWorldOfCodingApplications