方法 : ストアド プロシージャおよびユーザー定義関数でパラメータを使用する
更新 : 2007 年 11 月
パラメータを使用すると、実行時に指定された値を使用する柔軟な SQL ルーチンを作成できます。パラメータはプロシージャを実行するたびに変更できるため、一致させる値ごとに 1 つの SQL ルーチンを作成する必要はありません。
たとえば、Microsoft SQL Server データベースでは、employee テーブルから入社日が指定の日付に一致する従業員を検索する場合、ストアド プロシージャに @HireDate パラメータを追加できます。異なる入社日を指定するたびに、このストアド プロシージャを実行できます。また、複数のパラメータを使用して、日付の範囲を指定することもできます。たとえば、ストアド プロシージャの where 句で @BeginningDate および @EndingDate という 2 つのパラメータを作成して、プロシージャを実行する入社日の範囲を指定できます。
ストアド プロシージャやユーザー定義関数でパラメータを使用すると、次の処理を実行できます。
処理の成功または失敗、および失敗の理由を示すステータス値を、ほかの SQL ルーチンに返す。
パラメータ値をほかの関数やストアド プロシージャに渡す。
定数の代わりにパラメータを使用することはできますが、テーブル名、列名、またはほかのデータベース オブジェクトの代わりに使用することはできません。サーバー エクスプローラでは、パラメータを含むストアド プロシージャやユーザー定義関数を実行するときに、パラメータ値を指定するように要求されます。
メモ : |
---|
使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに表示されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。 |
ストアド プロシージャやユーザー定義関数のパラメータを表示するには
サーバー エクスプローラで、ストアド プロシージャの名前またはユーザー定義関数の名前を展開します。
SQL ルーチン名の下にパラメータの一覧が表示されます。Microsoft SQL Server データベースのパラメータ名は "@" という文字で始まります。たとえば、@percentage と表示されます。
実行中の SQL ルーチンのパラメータ値を入力するには
ストアド プロシージャまたはユーザー定義関数を実行します。
SQL ルーチンにパラメータが含まれている場合は、[ストアド プロシージャの実行] ダイアログ ボックスまたは [関数の実行] ダイアログ ボックスが表示されます。
各パラメータについて、使用する値を入力します。パラメータのデータ型に応じた値を指定してください。
パラメータ値の入力が終了したら、[OK] をクリックします。
データベースにおけるパラメータの処理の詳細と例については、使用するデータベース サーバーのドキュメントを参照してください。Microsoft® SQL Server™ を使用している場合は、『SQL Server Books Online』の「パラメータ」を参照してください。