【问题标题】:Can I parameterize a Slick query macro?我可以参数化 Slick 查询宏吗?
【发布时间】:2023-02-25 04:33:44
【问题描述】:

在 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】:

    您可以在不应“解释”的变量前使用 #

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多