在 Informix 中,我可以运行使用其他数据库的 SQL 语句:
INSERT INTO other_db:mytable ...
我想“联合”两个数据库,但我想“一步一步”做。
首先,我想将所有数据从 other_db 移动到主数据库,并为 other_db = main_database 设置别名。这样我就有时间从所有语句中删除“other_db:”。
如何设置数据库别名?
我不知道为整个数据库创建别名的任何方法。
但是,您可以跨数据库创建同义词,格式如下:
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
。
希望有帮助。