我有3個表 -負載表C
--server 1
CREATE TABLE TableA (GROUP_ID INT
,STATUS VARCHAR(10))
--server 2
CREATE TABLE TableB (GROUP_ID INT
,NAME VARCHAR(10)
,STATE VARCHAR(50)
,COMPANY VARCHAR(50))
-- server 1
CREATE TABLE TableC (GROUP_ID INT
,NAME VARCHAR(10)
,STATE VARCHAR(50)
,COMPANY VARCHAR(50))
樣本數據
INSERT INTO TableA (1, 'READY'),(2,'NOT READY),(3,'READY'),(4,'NOT READY')
INSERT INTO TableB (1, Mike, 'NY', 'aaa'), (1, Rick, 'OK','bbb'), (2, Smith, 'TX','ccc'), (3, Nancy, 'MN','bbb'), (4, Roger, 'CA','aaa')
我試圖建立一個SSDT(SSIS 2012)包從表B的TableC中加載數據,僅用於TableA中STATUS ='READY'的GROUP_ID,並且更改STATUS ='LOADED'我需要通過使用TableA-GROUP_ID和S的項目級別參數或變量來完成此操作TATUS,因爲我會爲大約60張桌子做這個,這些值可能會改變。
我必須建立一個SSIS包,這是一個要求。使用鏈接服務器的 不是首選。除非通過SSIS無法實現。
任何幫助,將不勝感激。
謝謝爲了您的迴應。 TableA和TableB在不同的服務器上,所以無法加入!或者我可以嗎?我不知道它是否可能在SSIS中。如果表A是我的源表並且TableC是我的目標,則使用條件拆分方法。我將在哪裏定義我的TableB?我編輯了原文。請參閱其他要求/限制。再次感謝。 – sql84 2014-09-24 14:21:40
您可以將A和B設置爲來源,指向不同的服務器。然後,您可以使用GROUP_ID上的合併連接在SSIS中加入數據,然後添加條件拆分。 現在我更清楚地理解了這些限制,我將編輯我的回覆以適應。 – 2014-09-24 19:13:05
@ sql84 - 我已根據您修改的問題編輯了我的答案! – 2014-09-24 20:11:39