Informix 中的数据库别名
Posted
技术标签:
【中文标题】Informix 中的数据库别名【英文标题】:Database alias in Informix 【发布时间】:2008-12-22 12:06:51 【问题描述】:在 Informix 中我可以运行使用其他数据库的 SQL 语句:
INSERT INTO other_db:mytable ...
我想“联合”两个数据库,但我想“逐步”完成。
起初我想将所有数据从 other_db 移动到主数据库 并为 other_db = main_database 设置别名。这样我就有 是时候从所有语句中删除“other_db:”了。
如何设置数据库别名?
【问题讨论】:
不要忘记选择答案 - 当您查看答案时,那是答案旁边的大勾号(复选)。点击它,它会变成绿色。 (它给你 2 分,它也给你 RET 分)。 谢谢乔恩,但我认为猫王已经离开了大楼...... 好的。标记为已接受。我在注意到“V”标志时遇到了一些麻烦:)。现在它是绿色的):)。问候, 【参考方案1】:我不知道有什么方法可以为整个数据库创建别名。
但是,您可以跨数据库创建同义词,格式如下:
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
。
希望对您有所帮助。
【讨论】:
以上是关于Informix 中的数据库别名的主要内容,如果未能解决你的问题,请参考以下文章
Informix 数据库中的 Hibernate 批量插入(获取 sql 日志跟踪)
在 Hibernate 中为 Informix 数据库中的列进行类型转换