将参数传递给scala slick查询

时间:2016-11-06 04:48:51

标签: scala slick scala-collections slick-3.0

我正在尝试使用Slick API for scala在SQL Server JDBC查询的IN子句中传递整数列表。 val stockIdsOfInterest是我想在IN子句中传递的整数列表。这是我的疑问:

val stockIdsOfInterest =  gandalfIdToTickerMap.keys.take(2).toList // List[Int]
val ers = db.runSync(sql"""
        SELECT
          a.AttachmentID,
          r.stock_id,
        FROM
          Attachment as a
        JOIN
          research r ON r.id = a.research_id
        WHERE
          r.stock_id in (${stockIdsOfInterest})  -- THIS CAUSES EXCEPTION
      """.as[(Int, String, String, Int, Array[Byte], java.sql.Date)]
      );

当我添加IN子句时,查询抛出异常:

Error:(96, 39) not enough arguments for method implicitly: (implicit e: slick.jdbc.SetParameter[List[Int]])slick.jdbc.SetParameter[List[Int]].
Unspecified value parameter e.
      val ers = db.runSync(sql"""

我错过了什么?

0 个答案:

没有答案