我需要从两个不同的数据库中获取信息。
select * from TABLE_ONDB2 where column_on_db2 in ( select column_on_db1 from TABLE_ONDB1 );
问题是两个都在不同的数据库实例上,所以我无法弄清楚如何放置表名和列名等。
我希望我的问题很明确。
答案 0 :(得分:5)
我尝试使用数据库链接:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/ds_concepts002.htm
然而,这不是SQL * Plus功能。它的工作原理是建立从DB2到DB1的连接(数据库正在这样做)。
然后,您可以使用“@ db-link”名称表示法从DB2查询这两个表。如,
select *
from TABLE_ONDB2
where column_on_db2
in (select column_on_db1 from TABLE_ONDB1@DB_LINK_NAME);
^^^^^^^^^^^^^
好处是您可以以各种方式访问表格,也可以作为联接。