パラメーター クエリ (Visual Database Tools)
適用対象: SQL Server
値を変えるだけで、繰り返し利用できるクエリを作成することが必要になる場合があります。 たとえば、ある著者によって書かれたすべての 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)