【问题标题】:Jooq to validate each row of a CSV with a table in my schemaJooq 用我的模式中的表验证 CSV 的每一行
【发布时间】:2016-08-09 18:19:16
【问题描述】:

我想将 CSV 加载到多个相互关联的表中。首先我想知道如何将 CSV 的字段一次加载到多个表中。此外,在插入之前,我必须使用表中的列验证字段,那么有什么方法可以逐行读取 CSV 文件吗?谢谢:)

索引只不过是 CSV 中值的位置 :)如果我有这样的一行“Smith jodan,LA,30,+01233444”。这里 smith jodan 必须放在一个包含人名的表中LA 是他的地址,必须进入另一个表。

【问题讨论】:

  • jOOQ 目前还没有这样的功能。但也许应该有。您根据什么决定在哪个表中放置特定行?您能否为您的问题添加更多细节?
  • 好的,这是我的问题,假设我有一个 csv,其中包含 5 个字段,索引为 0 到 4。 0 , 1 中的值应该进入第一个表, 2,3, 4 进入另一个表,并且在插入之前我想验证表是否已经有这个值,因为我的表有唯一的约束。
  • 现在正在逐行读取文件并使用 jooq 进行验证,将值保存到表中而不使用 loadCsv。
  • Vinay,您可以在 Stack Overflow 上编辑问题。这样会更容易回答。 :) 当您编辑时:您根据什么来区分这些索引?在硬编码的索引号上?还是在内容上?

标签: java sql csv jooq


【解决方案1】:

目前,开箱即用的 jOOQ 3.7 无法做到这一点。您必须对 CSV 文件进行预处理并将不同的行分派给不同的加载器,每个加载器对应一个目标表。

为方便起见,您可以使用数组导入 API:

http://www.jooq.org/doc/latest/manual/sql-execution/importing/importing-arrays

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-15
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 2020-03-21
    • 1970-01-01
    相关资源
    最近更新 更多