2015-12-08 109 views
0

我期待在SSIS創建一個foreach循環:SSIS foreach循環與計數

從本質上講,我有一組ID號的數據必須是唯一的。當我分配ID時,我有一個檢查,以確保這些ID不存在於成員表中。我正在使用每個有匹配記錄的計數(*)來確定這一點。如果計數> 0,則刪除初始表中的記錄並重新插入以爲其分配新的ID。

我想要做的是建立一個循環來繼續這個過程,直到初始計數爲0(如果再添加記錄爲它指定一個ID,它是現有成員表。

我相信foreach循環可變枚舉是去這裏的路,但我不太清楚如何使用計數此設置。

+0

在SQL中循環並不是真正有效的。如果你想分配下一個ID,爲什麼不選擇MAX(ID)+ 1,並使用類似的東西。 SQL會做超級快! – Chuck

+0

我在使用600000-900000的「銀行」號碼,我們被告知我們會使用這些號碼。當然,有些情況下這些數字已經存在。所以我不知道MAX + 1會工作......但是,感謝您的意見,我一定會給它一個機會! – slevin37

+0

我認爲你可以用SSIS中的存儲過程而不是循環來做到這一點,但是你的問題並不完全清楚你現在擁有什麼,以及你需要做什麼。 「我有一套數據」可能意味着很多事情。 –

回答

0

你描述聽起來更像是一個SSIS For循環容器,不for For Each循環For循環可以測試評估表達式來決定是否運行循環的另一次迭代(例如,@count != 0)。

這裏的For循環容器上的DOCO:

https://msdn.microsoft.com/en-us/library/ms139956.aspx

For循環還提供了初始化和迭代的表達,但它聽起來像是你將不需要這些。 count變量的定義條目可以將其初始化爲非0值。