このトピックでは、SQL 実行タスクでパラメーター化された SQL ステートメントを使用し、SQL ステートメント内の変数とパラメーター間のマッピングを作成する方法について説明します。
さまざまな接続の種類で使用する SQL 実行タスク、パラメーター マーカー、およびパラメーター名の詳細については、「 SQL 実行タスク」の「SQL タスクの実行 」と 「パラメーター」および「リターン コード」を参照してください。
クエリ パラメーターを変数にマップするには
SQL Server Data Tools (SSDT)で、操作する Integration Services パッケージを開きます。
ソリューション エクスプローラーで、パッケージをダブルクリックして開きます。
[制御フロー] タブをクリックします。
SQL 実行タスクがまだパッケージに含まれていない場合、SQL 実行タスクをパッケージの制御フローに追加します。 詳細については、「制御フローでのタスクまたはコンテナーの追加または削除」を参照してください。
.SQL 実行タスクをダブルクリックします。
パラメーター化 SQL コマンドを、次のいずれかの方法で指定します。
直接入力を使用して、SQLStatement プロパティに SQL コマンドを入力します。
直接入力を使用し、[ クエリのビルド] をクリックし、クエリ ビルダーが提供するグラフィカル ツールを使用して SQL コマンドを作成します。
ファイル接続を使用し、SQL コマンドが含まれるファイルを参照します。
変数を使用し、SQL コマンドが含まれる変数を参照します。
パラメーター化された SQL ステートメントで使用するパラメーター マーカーは、SQL 実行タスクが使用する接続の種類によって異なります。
接続の種類 パラメーター マーカー やっかい ? ADO.NET および SQLMOBILE @<パラメーター名> ODBC(オープンデータベースコネクティビティ) ? EXCEL および OLE DB ? 次の表に、SELECT コマンドの例を接続マネージャーの種類別に示します。 パラメーターは、WHERE 句で使用されるフィルター値を提供します。 この例では、SELECT を使用して、2 つのパラメーターで指定された値よりも ProductID の値が大きい製品と小さい製品を、AdventureWorks2012 の Product テーブルから返します。
接続の種類 SELECT 構文 EXCEL、ODBC、OLEDB SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?
やっかい SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?
ADO.NET SELECT* FROM Production.Product WHERE ProductId > @parmMinProductID AND ProductID < @parmMaxProductID
ストアド プロシージャでパラメーターを使用する例については、「 SQL 実行タスクのパラメーターとリターン コード」を参照してください。
[パラメーター マッピング] をクリックします。
パラメーター マッピングを追加するには、 [追加] をクリックします。
[パラメーター名] ボックスに名前を入力します。
使用するパラメーター名は、SQL 実行タスクが使用する接続の種類によって異なります。
接続の種類 パラメーター名 やっかい Param1、Param2、... ADO.NET および SQLMOBILE @<パラメーター名> ODBC(オープンデータベースコネクティビティ) 1、2、3、... EXCEL および OLE DB 0、1、2、3、… [変数名] 一覧で、変数を選択します。 詳細については、「 パッケージ内のユーザー定義変数のスコープの追加、削除、変更」を参照してください。
[方向] 一覧で、パラメーターが入力、出力、または戻り値のいずれであるかを指定します。
[データ型] 一覧で、パラメーターのデータ型を設定します。
重要
パラメーターのデータ型は、変数のデータ型と互換性がある必要があります。
SQL ステートメントの各パラメーターに対して、手順 8. ~ 11. を繰り返します。
重要
パラメーター マッピングの順序は、SQL ステートメントで使用されるパラメーターの順序と同じである必要があります。
OK をクリックします。
こちらもご覧ください
SQL 実行タスク
SQL 実行タスクのパラメーターとリターン コード
Integration Services (SSIS) の変数