跨多个数据库的 HSQLDB INSERT/SELECT

问题描述

HsqlDB 允许将数据从查询(或表)插入到另一个表中,如下所示:

INSERT INTO dest SELECT * FROM source;

现在,如果我从一个 Java 应用程序访问两个数据库,每个数据库通过一个单独的连接,并且 dest一个中而 source 在另一个中,该怎么办?我是否必须手动完成所有操作(在 SELECT 上运行 source 查询,遍历结果集并将每条记录插入到 dest 中),还是有快捷方式?

解决方法

没有捷径。

您可以编写一个方法,该方法对 ResultSet 的行中的列值使用 getObject() 并在为每一行调用 addBatch() 并在最后调用 executeBatch() 之前设置 PreparedStatement 的参数。