使用isql从一个数据库复制Firebird

时间:2012-08-23 08:50:15

标签: database firebird isql

我有2个火鸟数据库

c:\db1.gdb
c:\db2.gdb

两个数据库模式都是相同的,因此它们都包含一个表

MyTable
-------
Id int
Name varchar(50)
...etc

它确保两个数据库上的数据都不同,但我需要从db2.MyTable复制到db1.MyTable

要求是我使用firebird isql工具执行此操作。

我将如何首先使用isql

-Connect to both db's in one isql command window
-run a sql statement that would do a select all from one table in db2 and insert it into the same table in db1

我正在使用firebird 1.5

2 个答案:

答案 0 :(得分:2)

FB 1.5无法做到这一点。您可以使用新的“执行语句...外部”功能使用Firebird 2.5执行此操作,该功能可以从内部触发器,过程和代码块访问另一个firebird数据库。

答案 1 :(得分:2)

如果你真的必须使用isql来做,那么你可以写select语句,它产生insert个语句;在db2中运行select,将结果保存到某个文件中,然后执行db1中的语句。 select语句类似于

select 'insert into MyTable(id, name) values ('|| cast(id as varchar(10)) ||','''|| name ||''');' from MyTable;

然而,使用Clever Components Interbase DataPump等作品更容易完成工作。