Share via


方法 : ストアド プロシージャおよびユーザー定義関数でパラメーターを使用する

パラメーターを使用すると、実行時に指定された値を使用する柔軟な SQL ルーチンを作成できます。パラメーターはプロシージャを実行するたびに変更できるため、一致させる値ごとに 1 つの SQL ルーチンを作成する必要はありません。

たとえば、Microsoft SQL Server データベースでは、employee テーブルから入社日が指定の日付に一致する従業員を検索する場合、ストアド プロシージャに @HireDate パラメーターを追加できます。異なる入社日を指定するたびに、このストアド プロシージャを実行できます。また、複数のパラメーターを使用して、日付の範囲を指定することもできます。たとえば、ストアド プロシージャの where 句で @BeginningDate および @EndingDate という 2 つのパラメーターを作成して、プロシージャを実行する入社日の範囲を指定できます。

ストアド プロシージャやユーザー定義関数でパラメーターを使用すると、次の処理を実行できます。

  • 処理の成功または失敗、および失敗の理由を示すステータス値を、ほかの SQL ルーチンに返す。

  • パラメーター値をほかの関数やストアド プロシージャに渡す。

定数の代わりにパラメーターを使用することはできますが、テーブル名、列名、またはほかのデータベース オブジェクトの代わりに使用することはできません。サーバー エクスプローラーでは、パラメーターを含むストアド プロシージャやユーザー定義関数を実行するときに、パラメーター値を指定するように要求されます。

[!メモ]

お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。

ストアド プロシージャやユーザー定義関数のパラメーターを表示するには

  • サーバー エクスプローラーで、ストアド プロシージャの名前またはユーザー定義関数の名前を展開します。

    SQL ルーチン名の下にパラメーターの一覧が表示されます。Microsoft SQL Server データベースのパラメーター名は "@" という文字で始まります。たとえば、@percentage と表示されます。

実行中の SQL ルーチンのパラメーター値を入力するには

  1. ストアド プロシージャまたはユーザー定義関数を実行します。

    SQL ルーチンにパラメーターが含まれている場合は、[ストアド プロシージャの実行] ダイアログ ボックスまたは [関数の実行] ダイアログ ボックスが表示されます。

  2. 各パラメーターについて、使用する値を入力します。パラメーターのデータ型に応じた値を指定してください。

  3. パラメーター値の入力が終了したら、[OK] をクリックします。

データベースにおけるパラメーターの処理の詳細と例については、使用するデータベース サーバーのドキュメントを参照してください。Microsoft SQL Serverを使用する場合は、SQL Server Books Onlineの「パラメーター」を参照してください。

参照

その他の技術情報

ストアド プロシージャおよびユーザー定義関数の使用