Parameterfrågor (Visual Database Tools)
gäller för:SQL Server
I vissa fall vill du skapa en fråga som du kan använda många gånger, men med ett annat värde varje gång. Du kan till exempel ofta köra en fråga för att hitta alla title_ids
som skrivits av en författare. Du kan köra samma fråga för varje begäran, förutom att författarens ID eller namn skulle vara olika varje gång.
Om du vill skapa en fråga som kan ha olika värden vid olika tidpunkter använder du parametrar i frågan. En parameter är en platshållare för ett värde som anges när frågan körs. En SQL-instruktion med en parameter kan se ut så här, där "?" representerar parametern för författarens ID:
SELECT title_id
FROM titleauthor
WHERE (au_id = ?)
Där du kan använda parametrar
Du kan använda parametrar som platshållare för literalvärden – för antingen text- eller numeriska värden. Oftast används parametrar som platshållare i sökvillkor för enskilda rader eller för grupper (dvs. i WHERE- eller HAVING-satserna i en SQL-instruktion).
Du kan använda parametrar som platshållare i uttryck. Du kanske till exempel vill beräkna rabatterade priser genom att ange ett annat rabattvärde varje gång du kör en fråga. För att göra det kan du ange följande uttryck:
(price * ?)
Ange namnlösa och namngivna parametrar
Du kan ange två typer av parametrar: namnlösa och namngivna. En namnlös parameter är ett frågetecken (?) som du placerar någonstans i frågan som du vill fråga efter eller ersätta ett literalvärde. Om du till exempel använder en namnlös parameter för att söka efter en författares ID i tabellen titleauthor
kan den resulterande instruktionen i SQL-fönstret se ut så här:
SELECT title_id
FROM titleauthor
WHERE (au_id = ?)
När du kör frågan i Query och View Designervisas dialogrutan Frågeparametrar med "?" som namnet på parametern.
Du kan också tilldela ett namn till en parameter. Namngivna parametrar är särskilt användbara om du har flera parametrar i en fråga. Om du till exempel använder namngivna parametrar för att söka efter en författares för- och efternamn i tabellen authors
kan den resulterande instruktionen i SQL-fönstret se ut så här:
SELECT au_id
FROM authors
WHERE au_fname = %first name% AND
au_lname = %last name%
Tips
Du måste definiera prefix- och suffixtecken innan du skapar en namngiven parameterfråga.
När du kör frågan i fråge- och vydesignern visas dialogrutan Frågeparametrar med en lista med namngivna parametrar.
Se även
Fråga med parametrar (Visual Database Tools)
frågetyper som stöds (Visual Database Tools)
Utforma frågor och vyer Instruktioner (Visual Database Tools)