次の方法で共有


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

更新 : 2007 年 11 月

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

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

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

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

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

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

b14014w7.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに表示されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

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

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

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

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

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

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

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

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

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

参照

その他の技術情報

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