Я пытаюсь перевести простой запрос INSERT INTO...SELECT FROM
в цитату из Quill.Прежде всего, мне не удается найти встроенный способ сделать это, поэтому я попытался использовать инфиксный запрос
val rawQuery = quote { (secondTableValues: List[Int]) => {
infix"""
INSERT INTO my_table (second_table_id)
VALUES (
${secondTableValues.map(stid => (SELECT id FROM second_table where id = $stid)).mkString(",")}}
)
""".as[Insert[Any]]
}}
databaseClient.run(rawQuery(List(1,2,3)))
Это, однако, не компилируется, так как Quill не может собрать Ast длязапрос.
То, что я в итоге сделал, это необработанный запрос и не использовал кавычки и запустил его с executeAction
.
Итак, два вопроса
- Как бы вы это сделали?
INSERT INTO...SELECT FROM
встроенным способом? - Что не так с
infix
версией выше?