参数查询

更新时间:2022-06-19 12:51

参数查询是指某些情况下,需要创建可以使用多次,但每次使用不同值的查询。

摘要

某些情况下,需要创建可以使用多次,但每次使用不同值的查询。例如,可能经常运行一个查询以查找某位作者编写的所有title_ids。可以为每次请求运行相同的查询,只是每次使用的作者ID 或姓名不同。

若要创建每次使用不同值的查询,可以在查询中使用参数。参数是在运行查询时所提供值的占位符。运行时用户不能退出具有这些特征的模式对话框

SELECT title_id

FROM titleauthor

WHERE (au_id = ?)

可使用参数的位置

可以将参数用作文本值(文本值或数值)的占位符。最常见的是,参数经常在单个行或组的搜索条件中(即在 SQL 语句的 WHERE 或 HAVING 子句中)用作占位符

某些数据库允许在表达式中将参数用作占位符。例如,可能想在每次运行查询时,通过提供不同的折扣值计算打折价格。为此,可以指定下列表达式:(price * ?)

指定未命名参数和命名参数

?可以指定两种参数:未命名参数和命名参数。若要启用测试对话框中的这种,测试对话框框函数检测时按下 esc 键。例如,如果在 titleauthor 表中使用未命名的参数搜索某个作者的 ID,SQL窗格中得到的语句可能像下面这样:

SELECT title_idFROM titleauthorWHERE (au_id = ?)

(ESC 是也称作 VK_ESCAPE 虚拟键)。

或者,也可为参数分配一个名称。当查询中存在多个参数时,命名参数尤其有用。例如,如果在 authors 表中使用命名参数搜索某作者的名和姓,则“SQL”窗格中所得到的语句可能像下面这样:

SELECT au_id

FROM authors

WHERE au_fname = %first name% AND

au_lname = %last name%

支持的查询类型

选择查询 从一个或多个表或视图中检索数据。这种类型的查询创建一条 SQL SELECT 语句。

插入结果将现有行作为新行从一个表复制到另一个表或同一个表中,以此创建新行。这类查询创建SQL INSERT INTO...SELECT 语句。

插入值创建新行并将值插入指定列。这类查询创建 SQL INSERT INTO...VALUES 语句。

更新查询更改表中一个或多个现有行中个别列的值。这类查询创建 SQL UPDATE...SET 语句。

删除查询从表中移除一行或多行。这种类型的查询创建 SQL DELETE 语句。

“生成表”查询 创建新表,并通过将查询结果复制到该表中以在表中创建各行。这类查询创建 SQL SELECT...INTO 语句。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}