Slick 3 Postgresql void function raw sql

Slick 3 Postgresql void function raw sql

我在 postgresql 数据库中定义了一个函数,该函数 return 无效并在函数内部进行了更新。

当我做的时候

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

我得到这个 SlickException

Update statements should not return a ResultSet

有没有一种方法可以调用 return无效的函数而不出现此错误。

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

sqlu 需要一个行数,因为它 returns DBIO[Int],所以即使 slick 可以识别 void 它可能仍然会抛出异常。 显然 slick 将 void 解释为 ResultSet,因此您可以尝试 sql,其中 returns 是 ResultSet 并忽略返回的结果:

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