【问题标题】:Slick 3 Postgresql void function raw sqlSlick 3 Postgresql void 函数原始 sql
【发布时间】:2016-07-03 16:51:54
【问题描述】:

我在 postgresql db 中定义了一个函数,它返回 void 并在函数内部进行更新。

当我这样做时

Await.result(db.run(sqlu"""select function_name()"""), Duration.Inf)

我得到了这个 SlickException

Update statements should not return a ResultSet

有没有一种方法可以调用一个返回 void 而不会出现此错误的函数。

【问题讨论】:

    标签: scala slick slick-3.0


    【解决方案1】:

    根据 http://slick.lightbend.com/doc/3.0.0/sql.html

    sqlu期望行数,因为它返回DBIO[Int],所以即使 slick 可以识别void,它也可能仍然会抛出异常。 显然,slick 将void 解释为ResultSet,因此您可以尝试sql,它会返回ResultSet,而忽略返回的结果:

    Await.result(db.run(sql"""select function_name()"""), Duration.Inf)
    

    【讨论】:

      猜你喜欢
      • 2020-12-04
      • 2020-10-21
      • 2012-01-09
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2013-12-29
      相关资源
      最近更新 更多