0

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

初步流程,如我所见:
1. TableOne循环2.ResultSet如果满足某个条件则递增3.如果不满足条件,则该提交到其他数据库表 N 记录 = 4.提交这 N 条记录
counter
counter

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

谢谢你。

4

1 回答 1

0

计数器的用途尚不清楚,因此我假设您只是使用它来说明您仅提交符合条件的记录的事实。

尝试构建一个插入语句来完成所有工作:

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

于 2010-09-14T16:14:12.400 回答