我有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
答案 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等作品更容易完成工作。