代码之家  ›  专栏  ›  技术社区  ›  Mithaldu

如果有的话,SQL::Interp相对于SQL::Abstract的缺点是什么?

  •  6
  • Mithaldu  · 技术社区  · 15 年前

    我目前正在研究一些轻量级的SQL抽象模块。我的工作流程是这样的,我通常手动编写SELECT查询,并通过接受哈希的sub插入/更新查询。

    SQL::Interp 声称 SQL::Abstract 无法在SQL中提供完整的表达能力,但不讨论其他差异。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Ether    15 年前

    DBIx::Connector 而且很老 DBI ,我完全消除了在我的系统中使用ORM的缺点。

    我遇到的唯一限制是不可能直接编写groupby查询(尽管简单地附加到生成的查询很容易,而LIMIT查询由扩展处理) SQL::Abstract::Limit .

        2
  •  3
  •   Mark Stosberg    13 年前

    我使用了一年多的SQL::Abstract,然后切换到SQL::Interp,从那时起我就一直使用它。

    抽象在处理复杂子句时遇到问题。对于它可以支持的那些字符,您将得到一个“(”“[”和{”字符的嵌套,您可以在心里将这些字符翻译回“和”,“或”或实际的括号。

    Interp没有这样的限制,也不使用中间表示。您的SQL看起来像是带绑定变量的SQL。它既适用于复杂查询,也适用于简单查询。我发现SQL::Interp与 DBIx::Simple 的内置支持。DBIx::Simple+SQL::Interp是使用原始DBI的友好和直观的替代品。我在一个100000 k+LoC mod\u perl web应用程序中使用这个组合。