ClojureQLのdisjからSQLクエリを生成する方法はありますか?接続詞!とアップデートイン!それらを直接実行する代わりに、関数?
1 に答える
1
いいえ、これらのメソッドはそれぞれの準備済みステートメントを直接実行しています。それらはすべてかなり基本的なものです。conj!andについては、内部名前空間内にあるand関数の呼び出しをupdate-in!見てください。formatconj-rowsupdate-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の機能は使用しません。with-naming-strategywith-quoted-identifiers
于 2011-09-08T16:26:05.367 に答える