Share via


Parameterabfragen (Visual Database Tools)

Gilt für:SQL Server

Für bestimmte Aufgaben werden Abfragen benötigt, die bei sich wiederholenden Aufrufen die Übergabe eines wechselnden Werts ermöglichen. Angenommen, Sie führen des Öfteren eine Abfrage aus, mit der alle title_ids eines Autors abgerufen werden. In diesem Fall führen Sie für jede Anforderung dieselbe Abfrage aus, wobei jedoch die ID bzw. der Name des Autors jeweils unterschiedlich ist.

Zum Erstellen einer Abfrage, die bei jedem Aufruf mit unterschiedlichen Werten ausgeführt werden kann, verwenden Sie Parameter innerhalb der Abfrage. Ein Parameter ist ein Platzhalter für einen Wert, der erst beim Ausführen der Abfrage festgelegt wird. Eine SQL-Anweisung mit einem Parameter könnte folgendermaßen lauten, wobei "?" als Parameter für die ID des Autors dient:

SELECT title_id  
FROM titleauthor  
WHERE (au_id = ?)  

Verwendungsmöglichkeit von Parametern

Sie können Parameter als Platzhalter für Literalwerte verwenden, d.h. sowohl für Textwerte als auch für numerische Werte. Sehr häufig werden Parameter als Platzhalter in Suchbedingungen für einzelne Zeilen oder Zeilengruppen verwendet (also in den WHERE- oder HAVING-Klauseln einer SQL-Anweisung).

Sie können Parameter als Platzhalter in Ausdrücken verwenden. Angenommen, Sie möchten Rabattpreise berechnen und bei jedem Ausführen der Abfrage einen anderen Rabattwert angeben können. Hierzu lässt sich folgender Ausdruck verwenden:

(price * ?)  

Angeben unbenannter und benannter Parameter

Sie können zwei Parametertypen angeben: unbenannte und benannte Parameter. Ein unbenannter Parameter wird durch ein Fragezeichen (?) bezeichnet, das Sie in einer Abfrage an der Position einfügen, an der Sie einen Literalwert abfragen oder einsetzen möchten. Wenn Sie z. B. einen unbenannten Parameter für die Suche nach einer Autoren-ID in der Tabelle titleauthor verwenden, ergibt sich folgende Anweisung im SQL-Bereich :

SELECT title_id  
FROM titleauthor  
WHERE (au_id = ?)  

Wenn Sie die Abfrage im Abfrage- und Sicht-Designerausführen, wird das Dialogfeld „Abfrageparameter“ mit „?“ als Name des Parameters angezeigt.

Sie können einem Parameter auch einen Namen zuweisen. Benannte Parameter sind dann hilfreich, wenn in einer Abfrage mehrere Parameter enthalten sind. Wenn Sie z. B. benannte Parameter für die Suche nach dem Vor- und Nachnamen eines Autors in der Tabelle authors verwenden, ergibt sich folgende Anweisung im SQL-Bereich:

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

Tipp

Definieren Sie Präfix- und Suffixzeichen, bevor Sie eine Abfrage mit benannten Parametern erstellen.

Wenn Sie die Abfrage im Abfrage- und Sicht-Designer ausführen, wird das Dialogfeld „Abfrageparameter“ mit einer Liste benannter Parameter angezeigt.

Weitere Informationen

Erstellen von Abfragen mit Parametern (Visual Database Tools)
Unterstützte Abfragetypen (Visual Database Tools)
Themen zur Vorgehensweise: Entwerfen von Abfragen und Sichten (Visual Database Tools)