Delen via


Parameterquery’s (Visual Database Tools)

van toepassing op:SQL Server-

In sommige gevallen wilt u een query maken die u vaak kunt gebruiken, maar elke keer met een andere waarde. U kunt bijvoorbeeld vaak een query uitvoeren om alle title_ids te vinden die door één auteur zijn geschreven. U kunt dezelfde query uitvoeren voor elke aanvraag, behalve dat de id of naam van de auteur elke keer anders zou zijn.

Als u een query wilt maken die verschillende waarden op verschillende tijdstippen kan hebben, gebruikt u parameters in de query. Een parameter is een tijdelijke aanduiding voor een waarde die wordt opgegeven wanneer de query wordt uitgevoerd. Een SQL-instructie met een parameter kan er als volgt uitzien, waarbij '?' de parameter voor de id van de auteur vertegenwoordigt:

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Wanneer parameters worden gebruikt

U kunt parameters gebruiken als tijdelijke aanduidingen voor letterlijke waarden, voor tekst- of numerieke waarden. Meestal worden parameters gebruikt als tijdelijke aanduidingen in zoekvoorwaarden voor afzonderlijke rijen of voor groepen (dat wil zeggen, in de WHERE of HAVING componenten van een SQL-instructie).

U kunt parameters gebruiken als tijdelijke aanduidingen in expressies. U kunt bijvoorbeeld kortingsprijzen berekenen door telkens wanneer u een query uitvoert een andere kortingswaarde op te geven. Hiervoor kunt u de volgende expressie opgeven:

(price * ?)

Geef niet-benoemde en benoemde parameters op

U kunt twee typen parameters opgeven: naamloos en benoemd. Een niet-benoemde parameter is een vraagteken (?) dat u ergens in de query plaatst waarnaar u een letterlijke waarde wilt vragen of vervangen. Als u bijvoorbeeld een niet-benoemde parameter gebruikt om te zoeken naar de id van een auteur in de titleauthor tabel, kan de resulterende instructie in het SQL-deelvenster er als volgt uitzien:

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Wanneer u de query uitvoert in de hulpmiddelen voor query's en weergaveontwerpers, wordt het dialoogvenster Queryparameters weergegeven met '?' als de naam van de parameter.

U kunt ook een naam toewijzen aan een parameter. Benoemde parameters zijn met name handig als u meerdere parameters in een query hebt. Als u bijvoorbeeld benoemde parameters gebruikt om te zoeken naar de voor- en achternamen van een auteur in de authors tabel, kan de resulterende instructie in het SQL-deelvenster er als volgt uitzien:

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

Aanbeveling

U moet voor- en achtervoegseltekens definiëren voordat u een benoemde parameterquery maakt.

Wanneer u de query uitvoert in de ontwerpfunctie voor query's en weergaven, wordt het dialoogvenster Queryparameters weergegeven met een lijst met benoemde parameters.