我可以参数化 Slick 查询宏吗?

问题描述 投票:0回答:1

在 Slick 中,可以在宏中编写一个查询,并将其转换为一个非常好的查询,具有一个类型,例如像这样:

db.run(sql"""SELECT COUNT(1) FROM myTable""")

但是有没有办法在参数中传递表名,像这样:

  val tableName = "myTable"
  db.run(sql"""SELECT COUNT(1) FROM $tableName""")

我试过了,我所看到的只是查询转换为

"SELECT COUNT(1) FROM $1"
,这可能暗示需要提供表名作为语句参数——但是如何呢?文档中没有任何内容。

scala slick
1个回答
0
投票

你可以在不应该被“解释”的变量前使用

#

val tableName = "myTable"
db.run(sql"""SELECT COUNT(1) FROM #$tableName""")

查看文档:https://scala-slick.org/doc/devel/sql.html#splicing-literal-values

© www.soinside.com 2019 - 2024. All rights reserved.