適用対象:SQL Server
場合によっては、何度も使用できるクエリを作成する必要がありますが、毎回異なる値を使用します。 たとえば、クエリを頻繁に実行して、1 人の作成者によって記述されたすべての title_ids
を見つけることができます。 作成者の ID または名前が毎回異なる点を除き、要求ごとに同じクエリを実行できます。
異なる時間に異なる値を持つクエリを作成するには、クエリでパラメーターを使用します。 パラメーターは、クエリの実行時に指定される値のプレースホルダーです。 パラメーターを含む SQL ステートメントは次のようになります。"?" は作成者の ID のパラメーターを表します。
SELECT title_id
FROM titleauthor
WHERE (au_id = ?)
パラメーターを使用する場合
リテラル値のプレースホルダーとして、テキストまたは数値のパラメーターを使用できます。 最も一般的なパラメーターは、個々の行またはグループの検索条件 (つまり、SQL ステートメントの WHERE
句または HAVING
句) でプレースホルダーとして使用されます。
式のプレースホルダーとしてパラメーターを使用できます。 たとえば、クエリを実行するたびに異なる割引値を指定して、割引価格を計算できます。 これを行うには、次の式を指定できます。
(price * ?)
名前のないパラメーターと名前付きパラメーターを指定する
名前のないパラメーターと名前付きパラメーターの 2 種類を指定できます。 名前のないパラメーターは、クエリ内の任意の場所に配置する疑問符 (?) で、リテラル値を要求または代入するためのものです。 たとえば、名前のないパラメーターを使用して、titleauthor
テーブルで作成者の ID を検索する場合、SQL ペイン の結果のステートメントは次のようになります。
SELECT title_id
FROM titleauthor
WHERE (au_id = ?)
クエリおよびビュー デザイナー ツールでクエリを実行すると、[クエリ パラメーター] ダイアログ ボックスがパラメーターの名前として "?" と表示されます。
または、パラメーターに名前を割り当てることもできます。 名前付きパラメーターは、クエリに複数のパラメーターがある場合に特に便利です。 たとえば、名前付きパラメーターを使用して、authors
テーブルで作成者の姓と名を検索すると、SQL ペインの結果のステートメントは次のようになります。
SELECT au_id
FROM authors
WHERE au_fname = %first name% AND
au_lname = %last name%
ヒント
名前付きパラメーター クエリを作成する前に、プレフィックスとサフィックスの文字を定義する必要があります。
クエリおよびビュー デザイナーでクエリを実行すると、[クエリ パラメーター] ダイアログ ボックスに名前付きパラメーターの一覧が表示されます。
関連コンテンツ
- パラメーターを使用したクエリ (Visual Database Tools)
- サポートされているクエリタイプ (Visual Database Tools)
- クエリとビューの操作方法に関する記事を設計する (Visual Database Tools)