Haskell是否有类似ActiveRecord或Sequel的SQL查询组合库?

Haskell是否有类似ActiveRecord或Sequel的SQL查询组合库?,haskell,hdbc,Haskell,Hdbc,使用Ruby的ActiveRecord或,您可以逐步建立SQL查询,根据运行时的条件向查询添加where或join或order子句 以下是一个简单的示例,摘自: 该示例显示了如果名为hidden的HTTP请求查询参数等于1,如何将WHERE子句追加到articles表上的基础SQL查询 我一直在研究Haskell中的HDBC和postgresql simple。似乎postgresql simple故意使从动态连接的部分构建SQL查询变得困难,以防止SQL注入。HDBC似乎足够灵活,可以根据运行

使用Ruby的ActiveRecord或,您可以逐步建立SQL查询,根据运行时的条件向查询添加
where
join
order
子句

以下是一个简单的示例,摘自:

该示例显示了如果名为
hidden
的HTTP请求查询参数等于
1
,如何将WHERE子句追加到
articles
表上的基础SQL查询

我一直在研究Haskell中的HDBC和postgresql simple。似乎postgresql simple故意使从动态连接的部分构建SQL查询变得困难,以防止SQL注入。HDBC似乎足够灵活,可以根据运行时的条件构建不同结构的SQL查询,但它似乎没有提供ActiveRecord或Sequel提供的抽象级别

有人能推荐一种使用Haskell数据库库模拟ActiveRecord动态查询构建功能的好方法吗

如果HDBC是一条路,我同意。但请举例说明

我想我正在寻找的是能够针对PostgreSQL后端动态组合查询。

您可能会发现这个应用程序很有趣。

您可能想要,您可能想要,您可能想要类似Esqueleto的东西

以下是对每种方法的权衡的良好讨论:

听起来你想要的是Haskell DB。对不起,我不熟悉。不过,它确实有一个PostgreSQL后端。这可能会有所帮助:
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