2008-12-22 77 views
2

在Informix中,我可以运行使用其他数据库的SQL语句:数据库别名Informix中

INSERT INTO other_db:mytable ... 

我想“团结”这两个数据库,但我想这样做“分步实施”。

首先,我想将other_db中的所有数据移动到主数据库 ,并使其别名为other_db = main_database。这样我将有 时间从所有语句中删除“other_db:”。

如何设置数据库别名?

+0

不要忘记选择答案 - 当你看它时,这是答案旁边的大勾号(勾号)。点击它,它变成绿色。 (它让你2分,它也给出了RET分)。 – 2008-12-24 04:51:57

+0

谢谢乔恩,但我认为猫王已经离开了大楼...... – RET 2008-12-31 06:33:22

回答

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 

行数将依赖于较新UPDATE STATISTICS

希望有所帮助。