Java SQL存储过程中多列游标内容的循环插入
我正在用ORacle编写一个复杂的存储过程,作为JDBC Java程序的一部分,它可以完成一些事情 首先,它需要执行一个非常复杂的选择,将信息读入光标,光标的每一行表示发票的行项目。输出游标中大约有10列。对于游标的每一行,需要将部分但不是全部字段插入另一个表(称为LineItem),此外,我需要获取游标中所有这些行的总数,并在发票表中创建父行Java SQL存储过程中多列游标内容的循环插入,java,sql,oracle,stored-procedures,jdbc,Java,Sql,Oracle,Stored Procedures,Jdbc,我正在用ORacle编写一个复杂的存储过程,作为JDBC Java程序的一部分,它可以完成一些事情 首先,它需要执行一个非常复杂的选择,将信息读入光标,光标的每一行表示发票的行项目。输出游标中大约有10列。对于游标的每一行,需要将部分但不是全部字段插入另一个表(称为LineItem),此外,我需要获取游标中所有这些行的总数,并在发票表中创建父行 将光标读回Java应用程序,然后根据需要执行插入操作,这样会更容易吗?还是可以在同一个存储过程中执行所有这些操作?我认为应该使用多个存储过程来避免复杂性
将光标读回Java应用程序,然后根据需要执行插入操作,这样会更容易吗?还是可以在同一个存储过程中执行所有这些操作?我认为应该使用多个存储过程来避免复杂性,但我不确定是否可以做到这一点,并将其全部保留为一个事务的一部分 我试图避免创建一个超级复杂的存储过程,但也不想要一个可怕的解决方案
谢谢我们也有类似的情况(处理发票及其行项目),我们采取以下措施:
我们使用JPA(带hibernate)和Spring来实现这一点,上面的所有步骤都在一个事务中执行 “将光标读回Java应用程序会更容易吗…?”可能会更容易,但性能肯定会很差。为什么光标会选择显然没有使用的列?如果你能提供更多的细节,这将是很有帮助的,这样我们就可以了解你想要实现的目标。