For ループ コンテナ
For ループ コンテナは、パッケージ内で繰り返す制御フローを定義します。ループの実装は、プログラミング言語の For ループ構造と同じです。For ループ コンテナは、ループの各繰り返しで式を評価し、式が False に評価されるまでそのワークフローを繰り返します。
For ループ コンテナは、次の要素を使用してループを定義します。
- ループ カウンタに値を割り当てる、省略可能な初期化式。
- ループの停止または続行のテストに使用する式を含む、評価式。
- ループ カウンタを増減する、省略可能な初期化式。
次の図は、メール送信タスクの For ループ コンテナを示しています。初期化式が @Counter = 0
の場合、評価式は @Counter < 4
になり、初期化式が @Counter = @Counter + 1
の場合、ループは 4 回繰り返して 4 つの電子メール メッセージを送信します。
この式は、有効な SQL Server 2005 Integration Services の式である必要があります。詳細については、「Integration Services の式のリファレンス」を参照してください。
初期化式および代入式を作成するには、代入演算子 (=) を使用します。この演算子は、Integration Services の式文法以外ではサポートされておらず、For ループ コンテナの初期化式および代入式の種類によってのみ、使用できます。代入演算子を使用するあらゆる式には、構文 @Var = <expression>
が含まれる必要があります。この構文の Var は実行時の変数で、<expression> は SSIS 式の構文の規則に従う式です。この式には、変数、リテラル、および、SSIS の式文法でサポートされるあらゆる演算子と関数を含めることができます。この式は、変数のデータ型にキャスト可能なデータ型に評価される必要があります。
For ループ コンテナでは、評価式を 1 つだけ含めることができます。したがって、For ループ コンテナは、すべての制御フローの要素を同一回数実行します。For ループ コンテナには、別の For ループ コンテナを含めることができるため、パッケージ内で、入れ子になっているループを構築したり複合型のループを実装できます。
For ループ コンテナ上でトランザクションのプロパティを設定し、パッケージ制御フローのサブセットのトランザクションを定義できます。この方法により、より細かなレベルでトランザクションを管理できます。たとえば、For ループ コンテナが、テーブル内のデータを複数回更新する制御フローを繰り返す場合、For ループおよびその制御フローを構成して、1 つでも正常に更新できないデータがある場合すべてのデータを更新しない、というトランザクションを使用できます。詳細については、「パッケージへのトランザクションの組み込み」を参照してください。
For ループ コンテナの構成
プロパティを設定するには SSIS デザイナから行うか、またはプログラムによって設定します。
SSIS デザイナで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。
SSIS デザイナ内でこれらのプロパティを設定する方法の詳細については、次のトピックのいずれかを参照してください。
プログラムによる For ループ コンテナの構成
プログラムによってこれらのプロパティを設定する方法の詳細については、次のトピックを参照してください。
参照
概念
パッケージの制御フローの作成
Integration Services コンテナ