參數查詢
有時候您想要建立可以多次使用但每次都使用不同值的查詢。 例如,您可能經常執行查詢尋找由某位作者所寫的所有 title_ids。 除了每次使用的作者 ID 或名稱不同外,每次要求時您可以執行相同的查詢。
若要建立每次執行會有不同值的查詢,您必須在查詢中使用參數。 參數為某值的替代符號,供查詢執行時使用。 使用參數的 SQL 陳述式將如下所示,其中 "?" 是指作者 ID 的參數:
SELECT title_id
FROM titleauthor
WHERE (au_id = ?)
使用參數的位置
您可以使用參數做為常值的替代符號,不管是文字或數值。 通常參數可做為個別資料列或群組之搜尋條件 (即在 SQL 陳述式的 WHERE 或 HAVING 子句) 中的替代符號。
有些資料庫可允許你在運算式中使用參數做為替代符號。 例如,您可以利用每次執行查詢時都提供不同折扣值來計算折扣價格。 若要完成這項作業,您可以指定下列運算式:
(price * ?)
如需可以在那裡使用參數的詳細資訊,請參考您目前使用資料庫的文件。
指定未具名和具名參數
您可以指定的參數型別有兩種:未具名和具名。 未具名參數為問號 (?),您可以放在查詢中需要提示或取代常值的位置。 例如,如果使用未具名參數搜尋 titleauthor 資料表中的作者 ID,SQL 窗格中產生的陳述式將如下所示:
SELECT title_id
FROM titleauthor
WHERE (au_id = ?)
當您在查詢和檢視表設計工具執行查詢時,查詢參數對話方塊會出現 "?" 做為參數的名稱。
或者您也可以指派參數名稱。 如果查詢中有多個參數,具名參數會特別有用。 例如,如果您使用具名參數在 authors 資料表中搜尋作者的名字和姓氏,[SQL] 窗格中產生的陳述式將如下所示:
SELECT au_id
FROM authors
WHERE au_fname = %first name% AND
au_lname = %last name%
提示
在建立具名參數查詢之前,必須先定義前置和後置字元。如需詳細資訊,請參閱選項對話方塊、資料庫工具、查詢/檢視表設計工具。
當您在 [查詢和檢視表設計工具] 執行查詢時,會出現查詢參數對話方塊,其中顯示具命名參數清單。
請參閱
概念
支援的查詢類型 (Visual Database Tools)