2

私は2つのfirebirdデータベースを持っています

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を使用しています

4

2 に答える 2

2

本当に使用する必要がある場合は、ステートメントを生成するステートメントを作成isqlできます。db2で選択を実行し、結果をファイルに保存してから、db1でステートメントを実行します。selectステートメントは次のようになりますselectinsert

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

ただし、Clever Components のInterbase DataPumpなどを使用すると、作業がはるかに簡単になります。

于 2012-08-23T15:47:59.803 に答える
2

これは FB 1.5 では不可能です。Firebird 2.5 では、新しい "execute statement...external" 機能を使用してこれを行うことができます。これにより、トリガー、プロシージャ、およびコード ブロック内から別の Firebird データベースにアクセスできるようになります。

于 2012-08-23T12:41:32.850 に答える