在SQL语句中“?”参数的使用

可视化数据库工具 参数查询某些情况下,需要创建可以使用多次,但每次使用不同值的查询。

例如,可能经常运行一个查询以查找某位作者编写的所有 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%
提示
在创建命名参数查询之前,必须定义前缀和后缀字符。 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值