仅导入hsqldb备份中的特定行

时间:2013-06-27 05:04:14

标签: java backup hsqldb

我正在尝试在我的java应用程序中创建一个函数,用户可以在其中选择先前生成的备份,但只导入不在当前数据库实例中的表行。使用MySql数据库,我可以转储我的表,在.sql内重命名它们,以便在再次导入时创建临时表,然后只是交叉查询不在数据库中的所有行。知道如何在hsqldb应用程序中的java中完成类似的操作吗?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

  1. 打开备份数据库

  2. 创建一个文本表,该表是主表的副本,例如CREATE TEXT TABLE yourtable_copy AS (SELECT * FROM yourtable)

  3. 为表SET TABLE yourtable_copy SOURCE 'filepath'

  4. 设置文件
  5. 将数据复制到新表

  6. 使用SET TABLE yourtable_copy SOURCE OFF

  7. 关闭来源
  8. 关闭备份数据库

  9. 打开主数据库

  10. 现在使用主数据库进行相同的文本表创建和源设置,但不复制数据,因为备份数据已经存在且将被打开

  11. 进行更新,然后在主数据库中关闭文本源

  12. 参考http://www.hsqldb.org/doc/2.0/guide/texttables-chapt.html