Query con parametri (Visual Database Tools)Parameter Queries (Visual Database Tools)

In alcuni casi potrebbe essere necessario creare una query da utilizzare più volte, specificando però ogni volta un valore diverso.In some cases you want to create a query that you can use many times, but with a different value each time. Se, ad esempio, si eseguono di frequente delle query per individuare tutti i title_ids di un determinato autore,For example, you might frequently run a query to find all the title_ids written by one author. è possibile utilizzare la stessa query per tutte le richieste specificando però ogni volta un ID o un nome di autore diverso.You could run the same query for each request, except that the author's ID or name would be different each time.

Per creare una query che può accettare valori diversi in momenti diversi, è necessario utilizzare i parametri.To create a query that can have different values at different times, you use parameters in the query. Un parametro è un segnaposto per un valore che verrà fornito durante l'esecuzione della query.A parameter is a placeholder for a value that is supplied when the query runs. Un'istruzione SQL con un parametro potrebbe essere simile alla seguente, dove "?" rappresenta il parametro relativo all'ID dell'autore:An SQL statement with a parameter might look like the following, where "?" represents the parameter for the author's ID:

SELECT title_id  
FROM titleauthor  
WHERE (au_id = ?)  

Possibili utilizzi dei parametriWhere You Can Use Parameters

I parametri possono essere utilizzati come segnaposto per valori letterali (testo o valori numerici).You can use parameters as placeholders for literal values — for either text or numeric values. Nella maggior parte dei casi i parametri vengono utilizzati come segnaposto all'interno di condizioni di ricerca per singole righe o per gruppi, ovvero nelle clausole WHERE o HAVING di un'istruzione SQL.Most commonly, parameters are used as placeholders in search conditions for individual rows or for groups (that is, in the WHERE or HAVING clauses of an SQL statement).

I parametri possono essere utilizzati nelle espressioni come segnaposto.You can use parameters as placeholders in expressions. Si supponga ad esempio di voler calcolare prezzi scontati specificando un valore di sconto diverso a ogni esecuzione della query.For example, you might want to calculate discounted prices by supplying a different discount value each time you run a query. A tale scopo, è possibile utilizzare la seguente espressione:To do so, you could specify the following expression:

(price * ?)  

Specifica di parametri denominati e non denominatiSpecifying Unnamed and Named Parameters

È possibile specificare due tipi di parametri: denominati e non denominati.You can specify two types of parameters: unnamed and named. Un parametro non denominato è un punto di domanda (?) che è possibile inserire in una posizione qualsiasi della query per richiedere o per sostituire un valore letterale.An unnamed parameter is a question mark (?) that you put anywhere in the query that you want to prompt for or substitute a literal value. Se, ad esempio, si usa un parametro non denominato per cercare l'ID di un autore nella tabella titleauthor , l'istruzione risultante nel riquadro SQL potrebbe essere simile alla seguente:For example, if you use an unnamed parameter to search for an author's id in the titleauthor table, the resulting statement in the SQL Pane might look like this:

SELECT title_id  
FROM titleauthor  
WHERE (au_id = ?)  

Al momento dell'esecuzione della query in Progettazione query e Progettazione viste, nella finestra di dialogo Parametri query viene visualizzato un punto interrogativo ("?") come nome del parametro.When you run the query in the Query and View Designer, the Query Parameters Dialog Box appears with "?" as the name of the parameter.

In alternativa, è possibile assegnare un nome a un parametro.Alternatively, you can assign a name to a parameter. I parametri denominati risultano particolarmente utili quando in una query sono presenti più parametri.Named parameters are particularly useful if you have multiple parameters in a query. Se, ad esempio, si utilizzano parametri denominati per cercare il nome e il cognome di un autore in una tabella authors , l'istruzione risultante nel riquadro SQL potrebbe essere simile alla seguente:For example, if you use named parameters to search for an author's first and last names in the authors table, the resulting statement in the SQL pane might look like this:

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

Prima di creare una query con parametri denominati, è necessario definire i caratteri del prefisso e del suffisso.You must define prefix and suffix characters before creating a named parameter query.

Al momento dell'esecuzione della query in Progettazione query e Progettazione viste, nella finestra di dialogo Parametri query viene visualizzato un elenco di parametri denominati.When you run the query in the Query and View Designer, the Query Parameters Dialog Box appears with a list of named parameters.

Vedere ancheSee Also

Esecuzione di query mediante parametri (Visual Database Tools)Query with Parameters (Visual Database Tools)
Tipi di query supportati (Visual Database Tools)Supported Query Types (Visual Database Tools)
Procedure per la progettazione di query e viste (Visual Database Tools)Design Queries and Views How-to Topics (Visual Database Tools)