我正在使用Slick来组装一个简单的SQL查询 .
我希望在运行时以不同的方式构造部分查询,具体取决于局部变量 .
这意味着我需要连接多个部分 SqlAction
(我认为?) .
我理解另一种方法是使用 #${plainSqlString}
但这需要我手动将我的参数转换为文字(例如下面的 $delta
到 #$delta
) . 但是,对于 String
参数,这需要手动SQL清理......我想避免这种情况!
val delta = 42
val applyDelta =
if (limitNegatives)
"GREATEST(0, col_1 + $delta)"
else
"col_1 + $delta"
val statement =
sqlu"""
UPDATE table_foo
SET col_1=#${applyDelta}
"""
任何想法如何在每个 SqlAction
中使用参数( $delta
)字符串构建 SqlAction
?
1 回答
applydelta的值是一个可以执行的SqlAction