有没有办法从ClojureQL的disj生成sql查询!连词!和更新!函数,而不是直接执行它们?
答案 0 :(得分:1)
不,这些方法直接执行各自准备好的语句。它们都非常基本。对于conj!
和update-in!
,请查看您在internal命名空间内找到的format
和conj-rows
函数中的update-vals
调用:
(format "INSERT INTO %s %s VALUES (%s)"
(to-tablename table) columns template)
(format "UPDATE %s SET %s WHERE %s"
(to-tablename table) columns where)
对于disj!
,ClojureQL使用的clojure.java.jdbc
库delete-rows
函数包含:
(format "DELETE FROM %s WHERE %s"
(as-identifier table) where)
所以基本上disj!
能够使用java.jdbc
的{{1}}和with-naming-strategy
宏作为表名,而另一个则没有。