我在DB中有表格,例如。 TableOne 。
根据某些规则,我应该将此表中的N条记录提交给其他表格
是否可以使用jdbc或ResultSet或CachedRowSet?
初步流程,如我所见:
1。循环遍历 TableOne 的ResultSet
如果符合某些条件, 2。增加counter
3。如果不满足条件,则需要提交其他数据库表N记录= counter
4。提交这N条记录
所以,问题出在第4步 如何实施?
谢谢。
答案 0 :(得分:0)
计数器的目的不明确,所以我假设您只是用它来说明您只提交符合条件的记录。
尝试构建一个完成所有工作的insert语句:
INSERT INTO table2 (a, b, c)
SELECT a, b, c FROM table1
WHERE myConditionIsMet
另一个选项是循环记录集并在每次满足条件时插入记录。您应该在事务中包装循环,这样在循环完成之前不会提交任何内容。我的JDBC有点生疏,所以这里是一个伪代码示例:
connection.startTransaction()
for row in records
if row condition
connection.execute('INSERT ROW STATEMENENT')
connection.commitTransaction()
第一种方法更可取,但在某些情况下,无法在SQL表达式中确定条件。