2

Informix では、他のデータベースを使用する SQL ステートメントを実行できます。

INSERT INTO other_db:mytable ...

両方のデータベースを「結合」したいのですが、「段階的に」実行したいと思います。

まず、すべてのデータを other_db からメイン データベースに移動し、other_db = main_database というエイリアスを作成します。このようにして、すべてのステートメントから「other_db:」を削除する時間があります。

データベースエイリアスを設定するにはどうすればよいですか?

4

1 に答える 1

4

データベース全体のエイリアスを作成する方法を知りません。

ただし、次の形式でデータベース間でシノニムを作成できます。

DATABASE old_db;
CREATE SYNONYM table_name FOR new_db:table_name;

移動するテーブルごとにこのようなエイリアスを作成すると、同じ効果が得られるはずです。すべてのテーブルが再配置されたら、 へのすべての参照を削除できますold_db

systablesold_db 内の実際のテーブルを特定するためにクエリを実行できます。つまり、次のようになります。

DATABASE old_db;
SELECT tabname, nrows
  FROM systables
  WHERE tabtype = "T"
    AND tabid > 99 -- exclude internal tables

もちろん、row-count は合理的に current に依存しUPDATE STATISTICSます。

それが役立つことを願っています。

于 2008-12-23T01:05:58.533 に答える