0

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

4

1 回答 1

0

你可以这样做:

  1. 打开备份数据库

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

  3. 为表设置文件SET TABLE yourtable_copy SOURCE 'filepath'

  4. 将数据复制到新表

  5. 关闭源SET TABLE yourtable_copy SOURCE OFF

  6. 关闭备份数据库

  7. 打开主数据库

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

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

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

于 2013-06-27T19:52:41.580 回答