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 中的 TEXT 类型列

sql查询标题信息以及informix中的列中的数据

Informix 数据库中的 Hibernate 批量插入(获取 sql 日志跟踪)

在 Hibernate 中为 Informix 数据库中的列进行类型转换

如何将 char 转换为 Informix 数据库中的数组?

Informix 脚本中的局部变量