Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure.contrib.sql:如何将select语句的结果检索到可以随时访问的向量中?_Sql_Clojure - Fatal编程技术网

Clojure.contrib.sql:如何将select语句的结果检索到可以随时访问的向量中?

Clojure.contrib.sql:如何将select语句的结果检索到可以随时访问的向量中?,sql,clojure,Sql,Clojure,例如,在此查询中: (Clojure.contrib.sql/with-query-results rows ["SELECT count(*) from tableName"] (doseq [record rows] (println (vals record)))) 似乎记录和行不存在于此范围之外,但我希望它随时存在,以便我访问 更新: 我尝试了以下代码行 (def asdf []) (sql/with-connection db (sql/with-query-results row

例如,在此查询中:

(Clojure.contrib.sql/with-query-results rows ["SELECT count(*) from tableName"] (doseq [record rows] (println (vals record))))
似乎记录和行不存在于此范围之外,但我希望它随时存在,以便我访问

更新: 我尝试了以下代码行

(def asdf [])
(sql/with-connection db

(sql/with-query-results rows ["SELECT * FROM tableName"] (doseq [record rows] (def asdf (conj asdf record)))))

(println asdf)

当我在sql语句中添加行时,为什么上面asdf的print语句返回空?

您似乎对Clojure的基本原理缺乏基本了解,尤其是不可变的数据结构。您的conj调用不会修改var asdf-var不是变量。您可以执行以下未经测试的操作

(def asdf 
    (sql/with-connection db
         (doall (sql/with-query-results rows ["SELECT * FROM tableName"]))))
直接将结果存储为asdf的值,但这可能不是您真正想要的。相反,要熟悉