gpt4 book ai didi

java - SQL存储过程中多列游标内容的循环插入

转载 作者:行者123 更新时间:2023-11-30 04:37:32 26 4
gpt4 key购买 nike

我正在 ORacle 中编写一个复杂的存储过程,它可以作为使用 JDBC 的 Java 程序的一部分执行多项操作。

首先,它需要执行非常复杂的 SELECT 将信息读入游标,游标的每一行表示发票的一个行项目。输出游标中大约有 10 列。对于游标的每一行,需要将一些但不是全部字段插入到另一个表(称为 LineItem)中,除此之外,我还需要获取游标中所有这些行的总和并在发票表。

将光标读回 Java 应用程序,然后根据需要迭代其内容执行 INSERTS 是否会更容易,或者是否可以在同一个存储过程中完成所有这些操作?我认为应该使用多个存储过程来避免复杂性,但不确定是否可以做到这一点以及是否可以将其全部保留为一个事务的一部分。

我试图避免创建一个 super 复杂的存储过程,但也不想要一个可怕的解决方案。

谢谢

最佳答案

我们也有类似的情况(处理发票及其行项目),我们执行以下操作:

  1. 批量检索 1000 个行项目(以免同时有太多项目压垮 Java 程序)。
  2. 将记录插入 LineItem 表,其中包含行项目记录中的所需列。
  3. 在迭代这些表示订单项的记录时,推断出标题记录的详细信息。
  4. 批量处理完所有行项目后,将表头记录插入数据库。

我们使用 JPA(带有 hibernate)和 Spring 来实现此目的,并且上述所有步骤都在单个事务中执行。

关于java - SQL存储过程中多列游标内容的循环插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13106213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com