Поделиться через


Контейнер «цикл по элементам»

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

Контейнер «цикл по элементам» использует следующие элементы для определения цикла:

  • дополнительное выражение инициализации, в котором присваиваются значения счетчикам цикла;

  • выражение вычисления, содержащее выражение, которое используется для проверки необходимости продолжения или остановки цикла;

  • дополнительное выражение итерации, которое увеличивает или уменьшает счетчик цикла.

На следующей диаграмме показан контейнер «цикл по элементам» с задачей «Отправка почты». Если выражение инициализации равно @Counter = 0, выражение вычисления равно @Counter < 4, а выражение итерации равно @Counter = @Counter + 1, то цикл повторяется четыре раза, после чего отправляет четыре электронных сообщения.

Контейнер цикла For, повторяющий задачу четыре раза

Выражения должны являться допустимыми выражениями служб SQL Server Integration Services. Дополнительные сведения см. в разделе Справочник по выражениям служб Integration Services.

Для создания выражений инициализации и присваивания можно использовать оператор присваивания (=). Этот оператор не поддерживается грамматикой выражений служб Integration Services и может быть использован в контейнере «цикл по элементам» только в выражениях инициализации и присваивания. Любое выражение, использующее оператор присваивания, должно содержать выражение синтаксиса @Var = <expression>, где Var является переменной выполнения, а <expression> — это выражение, соответствующее правилам синтаксиса выражения служб SSIS. Выражение может содержать переменные, литералы и другие операторы и функции, которые поддерживаются грамматикой выражений служб SSIS. Выражение должно возвращать тип данных, который может быть приведен к типу данных переменной.

Контейнер «цикл по элементам» может содержать только одно выражение вычисления. Это означает, что контейнер «цикл по элементам» выполняет все элементы потока управления одинаковое количество раз. Ввиду того, что контейнер «цикл по элементам» может включать другие контейнеры «цикл по элементам», в пакетах можно создавать вложенные циклы и сложные циклы выполнения.

Можно устанавливать свойство транзакции для контейнера «цикл по элементам», чтобы определить транзакцию для вложенного набора пакета потока управления. Таким образом возможно выполнение транзакции на более детальном уровне. Например, если контейнер «цикл по элементам» несколько раз повторяет выполнение потока управления для обновления данных, можно настроить «цикл по элементам» и его поток управления с использованием транзакции, чтобы в случае неполного обновления данных обновление вообще не было произведено. Дополнительные сведения см. в разделе Обеспечение целостности данных с помощью транзакций.

Настройка контейнера «цикл по элементам»

Свойства задаются через конструктор служб SSIS или программно.

Дополнительные сведения о свойствах, которые можно задать в конструкторе служб SSIS, см. в следующих разделах:

Дополнительные сведения об установке этих свойств в конструкторе служб SSIS см. в следующих разделах:

Программная настройка контейнера «цикл по элементам»

Дополнительные сведения об установке этих свойств программным способом см. в следующем разделе.

Значок служб Integration Services (маленький) Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.