我遇到了一个问题,我需要在一个查询中查询2个独立的数据库(相同的实例).
我习惯用mysql做这个,但我不知道怎么用DB2做.
在mySQL中它将是这样的:
SELECT user_info.*, game.*
FROM user_info, second_db.game_stats as game
WHERE user_info.uid = game.uid
Run Code Online (Sandbox Code Playgroud)
所以问题是我如何将这样的查询翻译成DB2语法?
相当于此
你有没有理由把表放在一个单独的数据库中?MySQL不支持模式的概念,因为在MySQL中,"模式"与"数据库"是相同的.在DB2中,模式只是命名对象的集合,可以将它们组合在一起.
在DB2中,单个数据库更接近整个MySQL服务器,因为每个DB2数据库都可以有多个模式.在同一个数据库中有多个模式,您的查询可以根据其编写方式或多或少地保持不变.
但是,如果您确实有两个单独的DB2数据库(并且由于某种原因,不希望迁移到具有多个模式的单个数据库):您可以通过在第一个数据库中定义昵称来实现此目的.
这需要一个有点复杂的过程来定义包装器(CREATE WRAPPER),服务器(CREATE SERVER),用户映射(s)(CREATE USER MAPPING最后是昵称(CREATE NICKNAME)).使用Control Center GUI执行这些任务通常最简单,因为它将引导您完成定义每个任务的过程.
| 归档时间: |
|
| 查看次数: |
11411 次 |
| 最近记录: |