Haskell是否有一个SQL查询构成库,如ActiveRecord或Sequel?
发布时间:2020-12-12 16:34:29 所属栏目:MsSql教程 来源:网络整理
导读:使用 Ruby的ActiveRecord或 Sequel,您可以根据运行时的条件逐步构建SQL查询,向查询添加where或join或order子句. 这是一个简单的例子,摘自ASCIIcasts: def index @articles = Article.order('name') if params[:hidden] @articles = @articles.where(:hidden
使用
Ruby的ActiveRecord或
Sequel,您可以根据运行时的条件逐步构建SQL查询,向查询添加where或join或order子句.
这是一个简单的例子,摘自ASCIIcasts: def index @articles = Article.order('name') if params[:hidden] @articles = @articles.where(:hidden =>(params[:hidden] == "1")) end respond_to do |format| format.html # index.html.erb format.xml { render :xml => @articles } end end 该示例显示如果名为hidden的HTTP请求查询参数等于1,如何将WHERE子句附加到文章表上的底层SQL查询. 我一直在Haskell看到HDBC和postgresql-simple.似乎postgresql-simple有意义地使得难以从动态连接的部分构建SQL查询,以防止SQL注入. HDBC似乎足够灵活,可以根据运行时的条件构建不同结构的SQL查询,但它似乎并没有提供ActiveRecord或Sequel提供的抽象级别. 任何人都可以建议使用其中一个Haskell数据库模拟ActiveRecord的动态查询构建工具吗? 如果HDBC是要走的路,那我很好.但是一个例子将不胜感激. 我想我正在寻找的是动态撰写查询的能力,而不是PostgreSQL后端. 解决方法你可能想要 Persistent,你可能想要 HaskellDB,你可能想要像Esqueleto这样的东西.这是一个很好的讨论,每个的权衡: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |