参数查询 (Visual Database Tools)

适用范围:SQL Server

在某些情况下,您需要创建可以使用多次但每次使用不同值的查询。 例如,可能经常运行一个查询以查找某位作者编写的所有 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)
支持的查询类型 (Visual Database Tools)
设计查询和视图操作指南主题 (Visual Database Tools)