ここでは,ループ回数をカウントするループカウンタを使った実装を紹介します。
この記事は,
SQL Server 2000
SQL Server Data Taransformation Services|DTS 2000 に基づいて記述しています。
2秒でわかる dts 2000 インデックスに戻る


1 [パッケージ] で [プロパティ] をクリックして, [DTS パッケージのプロパティ] ダイアログを呼び出す。
2 [グローバル変数] タブをクリックして,変数の追加画面を表示する。
3 ループの状態をあらわすカウンター用の変数を準備する。[名前] :LoopCounter ,[型] :[Integer(短整数)],[値]:0 (スクリプトの中で初期化してもよい)
4 ループの終了を制御するカウンターリミット用の変数を準備する。[名前] :LoopCounterlimit ,[型] :[Integer(短整数)],[値]:任意
(ここでは保守性のために変数化している。スクリプトの中で定数を利用してもよい)


1 ループの基点になる [ActiveX スクリプトタスク] を用意する。
2 ループの状態を表示する以下のコードを記述する。


ループ中に行う実際の処理を記述します。
サンプルコードでは単にメッセージを表示しています。
実際のシナリオでは,必要なタスクを組み合わせて処理を記述します。
1 処理を行うタスクを記述します。
2 サンプルでは以下のコードによってメッセージを表示しています。
  ヒント 
実際の処理について
実際の処理では,複数のタスクや [DTS 接続] を利用して処理を記述します。
処理を構成するタスクは,ループの基点と終点ではさむように優先順位制約で結びます。


1 ループの終点になる [ActiveX スクリプトタスク] を用意する。
2 ループの状態を表示する以下のコードを記述する。
3 ループの終了条件が満たされなければ,ループの基点のステータスを実行待ち状態に設定する。
4 ループの終了条件が満たされた場合は,パッケージの実行を終了する。
  ヒント 
実行後の [グローバル変数] の値について
パッケージの実行を行うと,[グローバル変数] の値が書き換えられます。
実行が完了した時点では,変数の値はループ処理によってインクリメントされたままの状態になっています。
パッケージを連続実行するような場合は,カウンタに使う変数を初期化するタスクを記述したほうがよいでしょう












