Partager via


Requêtes de paramètres (Visual Database Tools)

s’applique à : SQL Server

Dans certains cas, vous souhaitez créer une requête que vous pouvez utiliser plusieurs fois, mais avec une valeur différente à chaque fois. Par exemple, vous pouvez fréquemment exécuter une requête pour rechercher toutes les title_ids écrites par un auteur. Vous pouvez exécuter la même requête pour chaque requête, sauf que l’ID ou le nom de l’auteur serait différent à chaque fois.

Pour créer une requête qui peut avoir des valeurs différentes à différents moments, vous utilisez des paramètres dans la requête. Un paramètre est un espace réservé pour une valeur fournie lors de l’exécution de la requête. Une instruction SQL avec un paramètre peut ressembler à ce qui suit, où « ? » représente le paramètre de l’ID de l’auteur :

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Quand utiliser des paramètres

Vous pouvez utiliser des paramètres comme des espaces réservés pour les valeurs littérales (textuelles ou numériques). Les paramètres sont généralement utilisés en tant qu’espaces réservés dans les conditions de recherche pour des lignes individuelles ou pour des groupes (c’est-à-dire dans les clauses WHERE ou HAVING d’une instruction SQL).

Vous pouvez utiliser des paramètres comme balises fictives dans les expressions. Par exemple, vous pouvez calculer les prix réduits en fournissant une valeur de remise différente chaque fois que vous exécutez une requête. Pour ce faire, vous pouvez spécifier l’expression suivante :

(price * ?)

Spécifier des paramètres non nommés et nommés

Vous pouvez spécifier deux types de paramètres : sans nom et nommé. Un paramètre sans nom est un point d’interrogation ( ?) que vous placez n’importe où dans la requête que vous souhaitez demander ou remplacer une valeur littérale. Par exemple, si vous utilisez un paramètre sans nom pour rechercher l’ID d’un auteur dans la table titleauthor, l’instruction résultante dans le volet SQL peut ressembler à ceci :

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Lorsque vous exécutez la requête dans les outils du Concepteur de requêtes et de vues, la boîte de dialogue Paramètres de requête s’affiche avec « ? » comme nom du paramètre.

Vous pouvez également affecter un nom à un paramètre. Les paramètres nommés sont particulièrement utiles si vous avez plusieurs paramètres dans une requête. Par exemple, si vous utilisez des paramètres nommés pour rechercher les prénoms et noms d’un auteur dans la table authors, l’instruction résultante dans le volet SQL peut ressembler à ceci :

SELECT au_id
FROM authors
WHERE au_fname = %first name% AND
      au_lname = %last name%

Conseil

Vous devez définir des caractères de préfixe et de suffixe avant de créer une requête de paramètre nommée.

Lorsque vous exécutez la requête dans le Concepteur de requêtes et de vues, la boîte de dialogue Paramètres de requête s’affiche avec une liste de paramètres nommés.