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 wie folgt aussehen, wobei "?" den Parameter für die ID des Autors darstellt:
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. Am häufigsten werden Parameter als Platzhalter in Suchbedingungen für einzelne Zeilen oder für Gruppen verwendet (d. a. in der WHERE- oder HAVING-Klausel 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)