参数查询(可视化数据库工具)

适用于: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)