oracle 怎样同步两张大表数据,用sql语句实现

用sql语句实现同步两张表里面的数据,数据量是千万级的... 用sql语句实现同步两张表里面的数据,数据量是千万级的 展开
 我来答
幻世浮生梦
2012-07-26 · 超过18用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:49万
展开全部
1、写个触发器,在a表中insert数据的时候同时在b表中insert。
2、写个存储过程并乎,写两个insert语句,将绝饥悉数据同时insert到a表和b表中,肢燃在程序中调用存储过程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随o天
2012-07-26 · TA获得超过3158个赞
知道大有可为答主
回答量:1740
采纳率:71%
帮助的人:2006万
展开全部
如果小表指的是第二个表,伏码败且两张表结模锋构完全一致,可以按如缺颤下方式解决:
insert into tab2 (select * from tab1 minus select * from tab2);
追问
两张表的结构不一致
追答
那两张表根据哪些列进行同步?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
carlxu2010
2012-07-26 · 超过10用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:28.7万
展开全部
oracle的话用trigger就能实现。
更多追问追答
追问
现在这两张表里面的数据相差几万条,如果是新增数据的话可以用trigger,现在是要把两张表相差的数据同步到小表里面去
追答
2个表的结构是否完全一致呢?
insert into smalltb
(select * from bigtb
minus
select * from smalltb);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eshiu0
2012-07-26
知道答主
回答量:53
采纳率:0%
帮助的人:21.7万
展开全部
delete from a;
insert into b select * from a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
usretyn
2012-07-26 · TA获得超过366个赞
知道小有建树答主
回答量:266
采纳率:100%
帮助的人:111万
展开全部
物化视图 或 触发器
追问
物化视图怎么实现?
追答
create materialized view log on table1;

CREATE MATERIALIZED VIEW table2
REFRESH FAST START WITH SYSDATE
NEXT SYSDATE + 5/3600/24 --下次刷新的时间,这里是5秒
WITH PRIMARY KEY
AS SELECT * FROM table1; -- 写你自己需要的列

这里第二个表 实际上是物化视图。

不知道你样做是为了实现什么需求
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式