Udostępnij za pomocą


Zapytania dotyczące parametrów (Visual Database Tools)

Dotyczy:programu SQL Server

W niektórych przypadkach chcesz utworzyć zapytanie, którego można użyć wiele razy, ale z inną wartością za każdym razem. Na przykład często można uruchomić zapytanie, aby znaleźć wszystkie title_ids napisane przez jednego autora. Można uruchomić to samo zapytanie dla każdego żądania, z tą różnicą, że identyfikator lub nazwa autora będzie się różnić za każdym razem.

Aby utworzyć zapytanie, które może mieć różne wartości w różnym czasie, należy użyć parametrów w zapytaniu. Parametr jest symbolem zastępczym wartości podanej podczas uruchamiania zapytania. Instrukcja SQL z parametrem może wyglądać następująco, gdzie "?" reprezentuje parametr identyfikatora autora:

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Kiedy należy używać parametrów

Możesz użyć parametrów jako miejsc zastępczych dla wartości tekstowych lub liczbowych. Najczęściej parametry są używane jako symbole zastępcze w kryteriach wyszukiwania dla poszczególnych wierszy lub grup (czyli w klauzulach WHERE lub HAVING instrukcji SQL).

Parametry można używać jako symboli zastępczych w wyrażeniach. Na przykład możesz obliczyć obniżone ceny, podając inną wartość rabatu za każdym razem, gdy uruchamiasz zapytanie. W tym celu można określić następujące wyrażenie:

(price * ?)

Określanie parametrów nienazwanych i nazwanych

Można określić dwa typy parametrów: nienazwane i nazwane. Nienazwany parametr jest znakiem zapytania (?), który można umieścić w dowolnym miejscu w zapytaniu, w miejscach, gdzie chcesz poprosić o wartość lub zastąpić wartość literału. Jeśli na przykład użyjesz parametru bez nazwy do wyszukania identyfikatora autora w tabeli titleauthor, wynikowa instrukcja w okienku SQL może wyglądać następująco:

SELECT title_id
FROM titleauthor
WHERE (au_id = ?)

Po uruchomieniu zapytania w narzędziach projektanta zapytań i widoku okno dialogowe Parametry zapytania zostanie wyświetlone ze znakiem "?" jako nazwą parametru.

Alternatywnie można przypisać nazwę do parametru. Nazwane parametry są szczególnie przydatne, jeśli masz wiele parametrów w zapytaniu. Jeśli na przykład użyjesz nazwanych parametrów, aby wyszukać imię i nazwisko autora w tabeli authors, wynikowa instrukcja w okienku SQL może wyglądać następująco:

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

Napiwek

Przed utworzeniem nazwanego zapytania parametru należy zdefiniować prefiks i sufiks.

Po uruchomieniu zapytania w Projektancie zapytań i widoków zostanie wyświetlone okno dialogowe Parametry zapytania z listą nazwanych parametrów.