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.

您可以查询systables以识别 old_db 中的真实表,即:

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

行数当然取决于合理的 current UPDATE STATISTICS

希望有帮助。

于 2008-12-23T01:05:58.533 回答