次の方法で共有


制御フローへの繰り返しの追加

SQL Server 2005 Integration Services (SSIS) には For ループ コンテナが含まれています。For ループ コンテナとは制御フローの要素で、これを使用すると、条件に応じてパッケージ内の制御フローを繰り返すループを、簡単に含めることができます。詳細については、「For ループ コンテナ」を参照してください。

For ループ コンテナは、ループの各繰り返しにおいて条件を評価し、条件が FALSE に評価されると停止します。For ループ コンテナに含まれる式によって、ループの初期化、繰り返される制御フローの実行を停止する評価条件の指定、評価条件の比較対象となる値を更新する式への値の代入を行います。評価条件は必ず指定する必要がありますが、初期化式および代入式の指定は任意です。

For ループ コンテナに機能は用意されていません。繰り返し可能な制御フローを構築する構造を提供するだけです。コンテナに機能を設定するには、For ループ コンテナに少なくとも 1 つのタスクを含める必要があります。詳細については、「Integration Services タスク」を参照してください。

For ループ コンテナには、複数のタスクを持つ制御フローを含めたり、他のコンテナを含めることができます。For ループ コンテナにタスクとコンテナを追加する手順は、タスクとコンテナをドラッグする先がパッケージではなく For ループ コンテナであること以外は、パッケージに追加する手順と同様です。For ループ コンテナに複数のタスクまたはコンテナが含まれる場合、パッケージの場合と同様に、優先順位制約を使用してそれらを連結できます。詳細については、「優先順位制約」を参照してください。

For ループ構成での式の使用

評価条件、初期化の値、または代入値を指定することによって For ループ コンテナを構成する場合、リテラルまたは式のどちらかを使用できます。

式には変数を含めることができます。変数を使用する利点は実行時に更新できるので、パッケージの管理がより柔軟かつ容易になることです。式の最大長は 4,000 文字です。

式の内部で変数を指定する場合、変数名をアット マーク (@) で始める必要があります。たとえば、Counter という名前の変数を指定するには、For ループ コンテナが使用する式に「@Counter」と入力します。変数の名前空間のプロパティを含める場合は、変数と名前空間を角かっこで囲む必要があります。たとえば、MyNamespace 名前空間内にある Counter 変数については、「[@MyNamespace::Counter]」と入力します。

For ループ コンテナが使用する変数は、For ループ コンテナのスコープ、またはパッケージ コンテナ階層において上位層にある任意のコンテナのスコープ内で定義する必要があります。たとえば、For ループ コンテナは、それ自体のスコープ内で定義された変数と、パッケージ スコープ内で定義された変数を使用できます。詳細については、「Integration Services の変数」および「パッケージでの変数の使用」を参照してください。

SSIS の式文法には、評価、初期化、または代入に使用する複雑な式を実装するための、演算子と関数の完全なセットが用意されています。詳細については、「Integration Services の式のリファレンス」を参照してください。

For ループ コンテナを制御フローに実装するには

  1. For ループ コンテナをパッケージに追加します。詳細については、「制御フローにタスクまたはコンテナを追加する方法」を参照してください。

  2. タスクとコンテナを For ループ コンテナに追加します。詳細については、「制御フローにタスクまたはコンテナを追加する方法」を参照してください。

  3. 優先順位制約を使用して、For ループ コンテナ内のタスクとコンテナを連結します。詳細については、「既定の優先順位制約を使用してタスクとコンテナを連結する方法」を参照してください。

  4. For ループ コンテナを構成します。詳細については、「For ループ コンテナの構成方法」を参照してください。

参照

処理手順

制御フローへのタスクの追加
タスクとコンテナのグループ化
タスクおよびコンテナでの優先順位制約の設定
制御フローへの列挙の追加
制御フロー内でのシーケンスの使用

概念

パッケージの制御フローの作成

ヘルプおよび情報

SQL Server 2005 の参考資料の入手