我已经成功地使用ddlUtils导出了Derby,但是如何导出derby中的表数据以插入SQL语句呢?
发布于 2015-11-12 09:11:18
如果您愿意为此使用第三方工具,您可以使用jOOQ
public class ExportAsInsert {
public static void main(String[] args) {
try (DSLContext ctx = DSL.using(url, user, password)) {
ctx.meta()
.getSchemas()
.stream()
// Filter out those schemas that you want to export
.filter(schema -> schema.getName().equals("TEST"))
// Get the tables for each schema...
.flatMap(schema -> schema.getTables().stream())
// ... and format their content as INSERT statements.
.forEach(table -> System.out.println(ctx.fetch(table).formatInsert()));
}
}
}上面的已知问题在insert语句中生成了错误的表名。您可以通过修补输出来修复这个问题:
System.out.println(
ctx.fetch(table).formatInsert().replace("UNKNOWN_TABLE", table.getName()));(免责声明:我为jOOQ背后的公司工作)
发布于 2021-01-25 18:01:33
注意:我使用Netbeans 8.2。
https://stackoverflow.com/questions/33353963
复制相似问题