Partager via


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

S’applique à :SQL Server

Dans certains cas, il est utile de créer une requête si vous devez souvent y faire appel, mais chaque fois avec une valeur différente. Par exemple, il se peut que vous exécutiez fréquemment une requête pour rechercher tous les title_ids écrits par un auteur. Chaque demande pourrait utiliser la même requête, mais l'ID ou le nom de l'auteur serait différent à chaque fois.

Pour que la requête prenne une valeur différente selon le cas, incluez des paramètres dans sa création. Un paramètre est un espace réservé, qui sera rempli par une valeur fournie au moment de l'exécution de la requête. Dans l'instruction SQL de l'exemple suivant, « ? » représente le paramètre de l'ID de l'auteur :

SELECT title_id  
FROM titleauthor  
WHERE (au_id = ?)  

Où 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). La plupart du temps, les paramètres sont utilisés en tant qu'espaces réservés dans des conditions de recherche de lignes individuelles ou de groupes (c'est-à-dire dans les clauses WHERE ou HAVING d'une instruction SQL).

Dans les expressions, vous pouvez utiliser les paramètres comme des espaces réservés. Par exemple, il est possible de calculer des prix avec remise en fournissant une remise différente à chaque exécution de la requête. Dans ce cas, vous pourriez spécifier l'expression suivante :

(price * ?)  

Spécification de paramètres nommés et sans nom

Vous pouvez spécifier deux types de paramètres : nommés et sans nom. Un paramètre sans nom est un point d'interrogation (?) que vous pouvez placer dans la requête à l'endroit où vous serez invité à indiquer 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 , le volet SQL peut proposer l’instruction suivante :

SELECT title_id  
FROM titleauthor  
WHERE (au_id = ?)  

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

Une autre méthode consiste à assigner un nom à un paramètre. Cela s'avère particulièrement utile si la requête doit comporter plusieurs paramètres. Par exemple, voici l'instruction proposée dans le volet SQL si vous utilisez des paramètres nommés pour rechercher le prénom et le nom d'un auteur dans la table authors :

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

Conseil

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

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

Voir aussi

Requête avec des paramètres (Visual Database Tools)
Types de requêtes pris en charge (Visual Database Tools)
Rubriques de procédures relatives à la conception de requêtes et de vues (Visual Database Tools)