2015-12-08 4 views
0

Я ищу, чтобы создать цикл по каждому элементу в SSIS:SSIS ForEach Loop со счетом

По сути, у меня есть набор данных с идентификационными номерами, которые должны быть уникальными. Когда я назначаю идентификаторы, у меня есть чек, удостоверяющий, что эти идентификаторы еще не существуют в таблице участников. Я использую count (*) каждой записи, которая имеет совпадение, чтобы определить это. Если count> 0, записи в исходной таблице удаляются и повторно вставлены, чтобы присвоить ему новый идентификатор.

То, что я хотел бы сделать, это настроить цикл, чтобы продолжить этот процесс до тех пор, что начальный отсчет равен 0 (в случае повторного добавления записи дает ему идентификатор, который также существующие в таблице членов.

Я считаю, что цикл ForEach с переменным перечислителем путь здесь, но я не совсем уверен, как задать этот вопрос, используя счетчик.

+0

Цитирование в SQL не является эффективным. Если вы хотите назначить следующий идентификатор, почему бы просто не выбрать MAX (ID) + 1 и использовать что-то вроде этого. SQL сделает это очень быстро! – Chuck

+0

Im работает с номером «банк» 600000-900000, и нам сказали, что у нас будут эти номера для работы. Конечно, есть случаи, когда эти числа уже существуют. Так что я не уверен, что MAX +1 будет работать ... Но спасибо за вход, я обязательно сделаю это! – slevin37

+0

Я думаю, что вы можете сделать это лучше с помощью хранимой процедуры вместо цикла в SSIS, но ваш вопрос не совсем ясен о том, что у вас есть в настоящее время, и что вам нужно делать. «У меня есть набор данных», это может означать много чего. –

ответ

0

Что вы описываете звуки больше как SSIS For Loop контейнер, не a Для каждого цикла. For Loop может тестировать выражение оценки, чтобы решить, следует ли запускать еще одну итерацию цикла (например, @count != 0).

Вот DOCO на контейнере Для Loop:

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

для цикла также предусматривает инициализации и итерационных выражений, но это звучит, как вы не нужны эти. Запись определения переменной count может инициализировать ее значением не-0.

Смежные вопросы