首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法将derby数据库表行转换为SQL insert语句?

有没有办法将derby数据库表行转换为SQL insert语句?
EN

Stack Overflow用户
提问于 2015-10-26 19:24:42
回答 2查看 477关注 0票数 1

我已经成功地使用ddlUtils导出了Derby,但是如何导出derby中的表数据以插入SQL语句呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-12 09:11:18

如果您愿意为此使用第三方工具,您可以使用jOOQ

代码语言:javascript
复制
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语句中生成了错误的表名。您可以通过修补输出来修复这个问题:

代码语言:javascript
复制
System.out.println(
    ctx.fetch(table).formatInsert().replace("UNKNOWN_TABLE", table.getName()));

(免责声明:我为jOOQ背后的公司工作)

票数 1
EN

Stack Overflow用户

发布于 2021-01-25 18:01:33

  1. 运行您的SQL请求,如"select * from schema.table;“。
  2. 在显示行的窗口中,用键盘选择所有行,而不是不起作用的"control+A“。
  3. 右击,在上下文菜单中,选择“Script for INSERT”:显示一个弹出窗口,您只需将内容复制到文本文件中即可。

注意:我使用Netbeans 8.2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33353963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档