一个SQL语句如何访问两个数据库的表

liulanghan110 2011-04-01 11:54:20
两个表在不同的数据库中,如何用一个SQL来关联这两个表获得数据。

如果两个数据库在同一服务器上该怎样
如果在不同服务器上又该如何做
...全文
456 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
whlizi 2011-04-01
  • 打赏
  • 举报
回复
访问远程数据库一般都是用dblink
liulanghan110 2011-04-01
  • 打赏
  • 举报
回复
dblink?可以详细点么?
gelyon 2011-04-01
  • 打赏
  • 举报
回复
不同库之间的访问,一般是创建dblink来实现
liulanghan110 2011-04-01
  • 打赏
  • 举报
回复
这样做性能怎样的,客户端每次访问数据时,不是要经过两次网络传输。
还有种方法是写定时任务,将B数据库中的一些表定时更新到A数据库中,哪种方法好些?
luoyukang 2011-04-01
  • 打赏
  • 举报
回复
create database link dblink名称
connect to 用户 identified by 密码
using '数据服务名';


select * from A@dblink名称
对他库的A表进行查询
feiyu107 2011-04-01
  • 打赏
  • 举报
回复
怎么红色标签不好使呢,呵呵
feiyu107 2011-04-01
  • 打赏
  • 举报
回复

-- Drop existing database link
drop database link LENDER.REGRESS.RDBMS.DEV.US.ORACLE.COM;
-- Create database link
create database link LENDER.REGRESS.RDBMS.DEV.US.ORACLE.COM
connect to LENDER IDENTIFIED BY lender using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.199)(PORT=1521)))(CONNECT_DATA=(SID=cedb)(SERVER=DEDICATED)))';



红色字是密码

DBLINK创建完以后直接写 select * from test@lender就可以访问远程数据库的表了
yejihui9527 2011-04-01
  • 打赏
  • 举报
回复
如果两个数据库在同一服务器上该怎样
select a.* from 用户名1.TABLE A,用户名2.TABLE B WHERE ……
如果在不同服务器上又该如何做
create public database link 名称.REGRESS.RDBMS.DEV.US.ORACLE.COM
connect to 对方服务器下用户名1 using 'loc';
sjq521521 2011-04-01
  • 打赏
  • 举报
回复
百度 dblink就可以,不同库建dblink,同库可以建同意词

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧