加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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这样的东西.

这是一个很好的讨论,每个的权衡:
http://blog.felipe.lessa.nom.br/?p=68

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读