不同数据库中的表复制

ddbean 2004-01-05 03:48:59
我想实现的是不同数据库中的表更新!

现在我有两个数据库,SID A,SID B。
在数据库A中有张表TAB_A,在数据库B中有张表TAB_B,两张表结构完全相同,但数据不同,我现在希望做到的是能够将数据库A中的TAB_A中的数据复制到数据库B
中的TAB_B里,对TAB_B中的原有数据进行清除,使复制后TAB_B中的数据与TAB_A的数据完全一致。
请问该如何实现?
...全文
108 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddbean 2004-01-07
  • 打赏
  • 举报
回复
多谢两位
bzszp 2004-01-07
  • 打赏
  • 举报
回复
在sql*plus里面创建
上面写的应该比较清楚了吧
lianhg 2004-01-06
  • 打赏
  • 举报
回复
都是一样的。
ddbean 2004-01-06
  • 打赏
  • 举报
回复
如果两个数据库在不同的服务器上呢?应该用什么方法?
bzszp 2004-01-05
  • 打赏
  • 举报
回复
创建语法:
create database link linkname
connect to user
identified by usrpwd
using 'demona';

其中
--demona为用net8 easy config创建的连接字符串
目的方数据库的init.ora文件中的global_names设为false
重新启动数据库设置才能生效
或者用sys用户执行
alter system set global_names=false;
lianhg 2004-01-05
  • 打赏
  • 举报
回复
我这边网络有问题,你在ORACLE 板块搜索DBLINK,就能找到答案了
ddbean 2004-01-05
  • 打赏
  • 举报
回复
请问lianhg(lianhg):

如何进行第一步,在数据库B中,建立连接数据库A的DBLINK_A;
在第二步中又如何引用 TAB_A@DBLINK_A

应该怎么写?
lianhg 2004-01-05
  • 打赏
  • 举报
回复
用一个存储过程来实现 :
1) 数据库B中,建立连接数据库A的DBLINK_A;
2)数据库B中,建立存储过程
create or replace procedure pCopy
as
begin
delete from TAB_B;
insert into TAB_B( select * from TAB_A@DBLINK_A);
commit;
end;

ddbean 2004-01-05
  • 打赏
  • 举报
回复
我想是用一个存储过程来实现
bzszp 2004-01-05
  • 打赏
  • 举报
回复
创建数据库链结:create database link ...
用copy命令:
copy from username/password@dbname
to username1/pw1@dbname1
append(create/insert/replace) tablename(col1,col2...)
using select....from ...;
append:添加到表上,如果tablename表不存在,则建立此表
create:如果tablename表存在,则出错
insert:添加到表中,如果tablename表不存在,则出错
replace:替换表中数据,如果tablename表不存在,则建立此表.

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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