我正在尝试使用clojure.java.jdbc / insert在sql中插入一系列向量作为行!接收输入的函数:
http://clojure-doc.org/articles/ecosystem/java_jdbc/using_sql.html#inserting-data
我无法通过映射动态地映射一系列向量,如([“a”1“c”] [“b”2“d”] [“d”3“e”] ....)因为它使用以下语法
(j/insert! db-spec :fruit
nil ; column names not supplied
[1 "Apple" "red" 59 87]
[2 "Banana" "yellow" 29 92.2]
[3 "Peach" "fuzzy" 139 90.0]
[4 "Orange" "juicy" 89 88.6])
我希望能够动态插入sql以进行批量插入。我怎样才能做到这一点? TIA。
答案 0 :(得分:1)
您可以使用apply(将整个args列表作为args应用于j / insert!函数)来执行此操作。
(def args-list '([1 "Apple" "red" 59 87]
[2 "Banana" "yellow" 29 92.2]
[3 "Peach" "fuzzy" 139 90.0]
[4 "Orange" "juicy" 89 88.6] ...))
(apply j/insert! db-spec :fruit args-list)