【问题标题】:Is it possible to manage table relationships with SOCI c++ database access library是否可以使用 SOCI c++ 数据库访问库管理表关系
【发布时间】:2012-01-25 17:08:16
【问题描述】:

假设我有两个具有多对多关系的表(即第三个表仅用于该关系)。

SOCI 是否支持语句中不同类型的“加入”?

如果是,它是否适用于所有数据库(文档中所谓的后端)?

谢谢!

【问题讨论】:

  • 联接是在数据库级别,而不是在查询级别。
  • @DumbCoder 你可以做一个选择...连接,所以它也在查询级别。
  • 抱歉应该更清楚。连接放在 select 语句中,但它们仅由 Db 引擎在 Db 级别使用。您的语句/编辑器(如果有)不在乎您是否输入连接词并且不进行优化。

标签: c++ orm soci


【解决方案1】:

使用 SOCI,您仍然需要构建您的 SQL 语句,并且可以将joins 放入其中(或其他任何内容)。 SOCI 基本上只是帮助你

  1. 将您的输入数据放入 SQL 查询(使用use(...))和
  2. 以一种很好的方式处理返回的结果(使用into(...)rowset 等)。

由于select 的结果只是一个行列表,因此无论您是否使用join,都不会阻止您使用它们。

【讨论】:

  • 谢谢!这是否意味着 SQL 查询直接传递给底层数据库驱动程序? SOCI 是否针对不同数据库之间可能存在的 SQL 格式差异进行了一些调整?
  • AFAIK,SOCI 不会做那样的事情。您必须在 SOCI 之上执行此操作。
猜你喜欢
  • 2015-03-09
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多