使用java向DB提交一定数量的记录

时间:2010-09-14 15:58:21

标签: java numbers commit records rowset

我在DB中有表格,例如。 TableOne
根据某些规则,我应该将此表中的N条记录提交给其他表格 是否可以使用jdbc或ResultSet或CachedRowSet?

初步流程,如我所见:
1。循环遍历 TableOne ResultSet 如果符合某些条件, 2。增加counter 3。如果不满足条件,则需要提交其他数据库表N记录= counter
4。提交这N条记录

所以,问题出在第4步 如何实施?

谢谢。

1 个答案:

答案 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表达式中确定条件。