问题标签 [clojureql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - ClojureQL 与 clojure.contrib.sql 相比如何?
看起来每个都涵盖了基本案例,例如选择某些列和按谓词过滤,但我想知道每个案例如何比较更高级的案例。用一个相对于另一个来表达复杂的查询是否更容易?一个库是否缺少另一个库所涵盖的任何功能?
macros - 如何将列表更改为 Clojure 宏中的代码?
我有以下宏:
:但它产生:
: 代替 :
:我意识到问题是我传入了一个列表'(=:type“special”),但是我怎样才能让它在宏中取消引用?
更新:
由于 Mikera 的回答,我终于得到了这个工作:
:虽然输出略有不同,但它按预期工作:
clojure - clojureql,开放全局和结果
只是想了解 clojureql 的 open-global 和 with-results 的目的。我首先阅读了这篇概述:ClojureQL 与 clojure.contrib.sql 相比如何?
出于某种原因,我认为 open-global 会取代 sql/with-connection,例如,我认为这会起作用:
但是,这不起作用。看来我需要同时进行开放全局并将执行查询包装在(sql / with-connection db)中,这让我感到惊讶(我认为开放全局提供了默认的全局可访问连接)。因此,既然情况似乎并非如此,我现在就想知道它到底做了什么。
另外... with-results 与简单地使用@ 执行查询有何不同?因为似乎 @(table :users) 会给我留下一个执行查询结果的序列(这不是 with-results 的作用吗)?
clojure - 在 ClojureQL 中,如何使 where 子句不区分大小写?
在 ClojureQL 中,如何使 where 子句不区分大小写?我正在尝试在 where 子句中添加 UPPER 或其他内容来执行此操作,但我无法弄清楚如何执行此操作
clojure - clojureql 在两个日期之间选择
我将如何使用 clojureql 在两个日期之间进行选择?希望是这样的:
clojure - 只需从 ClojureQL 的 disj 生成 SQL!康杰!并更新!职能
有没有办法从 ClojureQL 的 disj 生成 sql 查询!康杰!并更新!函数,而不是直接执行它们?
clojure - 用于clojure的ORM?
我正在阅读有关 clojure 网络堆栈的网站:
http://brehaut.net/blog/2011/ring_introduction
它对 clojure 的 ORM 有这样的说法:
“出于显而易见的原因,没有用于 Clojure 的 SQL/关系数据库 ORM。”
我可以看到的明显原因是,当您执行 clojure.contrib.sql 或 clojureql 查询时,对象的映射会自动发生。然而,似乎需要一些额外的工作来完成一对多或多对多的关系(尽管可能不需要太多的工作)。
我发现这篇文章是一对多的:http: //briancarper.net/blog/493/
我不确定我是否同意;它似乎假设两个表都是从数据库中提取的,然后在内存中过滤连接的表。在实践中,我认为 sql 查询将指定 where 条件。
所以我想知道,是否有一些相当明显的方法可以通过 clojureql 或 clojure.contrib.sql 自动执行一对多关系?我唯一能想到的是这样的(使用典型的博客文章/评论示例):
有什么方法可以使这个概念自动化,或者这是否尽可能好?
orm - 如何使用 ClojureQL 向表中添加索引?
使用任何 clojure 数据库/orm 库,如何在数据库中创建索引?我似乎找不到任何相关的例子。(我对 ClojureQL 和 clojure.java.jdbc 最感兴趣,因为我目前正在使用它们)。
编辑:好的,所以我想出了一种使用 clojure.java.jdbc 的方法:
但我真的很想知道如何在 ClojureQL 中做到这一点。
clojure - 如何在 ClojureQL 中执行 SELECT ... WHERE ... IN?
我刚刚解决了这个问题。由于它不在文档中并且需要您深入研究源代码,因此这似乎是解决方案的正确场所。
在 ClojureQL 中,如何创建如下查询: