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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дополнительные сведения о задании этих свойств программными средствами см. в документации по классу T:Microsoft.SqlServer.Dts.Runtime.ForLoop в руководстве для разработчиков.

Связанные задачи

Сведения о настройке контейнера «цикл по элементам» см. в следующих разделах.

См. также

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

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

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

См. также

Задания

Выражения служб Integration Services (SSIS)

Основные понятия

Поток управления