假如oracle里有4张表,每张表各取其中2个字段组成一张新的表,现在我要创建存储过程在旧表里有该如何同

假如oracle里有4张表,每张表各取其中2个字段组成一张新的表NEW,现在我要创建存储过程在旧表里有数据变化(insert,delete,update)的时候该如何同步... 假如oracle里有4张表,每张表各取其中2个字段组成一张新的表NEW,现在我要创建存储过程在旧表里有数据变化(insert,delete,update)的时候该如何同步更新新表NEW的数据?数据量很大,希望增量同步。望大侠指导
NEW表中还会增加其他如updatetime和jsessionId等字段,视图不太好使吧,因为这张表需要同步到sqlserver那边,所以这张表还是需要的。我想知道如何通过这两个字段可以实现增量更新,意思就是不要首先就delete掉表中数据再全部插入,而是只更新那些有变化的数据。类似这样的存储过程或者触发器该如何写,是不是要在每张表上都挂上触发器?
展开
 我来答
百度网友97df5c0af
2013-03-07 · TA获得超过568个赞
知道小有建树答主
回答量:490
采纳率:0%
帮助的人:558万
展开全部
如果你需要实时更新的,我还是建议你用视图。每次查询都是最新的数据。
如果你真的需要另外一张表的话导出数据之后可以在原来的表上挂上触发器,或者选用物理视图(不过这个需要你自己手动更新)。

补充回答:
你首先要确定的是你NEW表需要的数据实时性:
1. 实时:这个时候你必须挂上触发器,或者通过变更应用程序实现双写;这时要处理旧数据的转移就最好先封锁数据库一段时间,带数据转移完毕再解封。
2. 非实时:这种情况可能类似一张统计表,每天更新。这样就不用挂触发器,可以记录上一次处理数据的最后ID然后下次开始同步的时候就按照上次记录位置开始。因为一般情况下数据库的主键采用自增型主键,这样就可以实现增量同步。
来自:求助得到的回答
匿名用户
2013-03-07
展开全部
这种情况创建新表NEW,不如创建试图好吧?新表的内容你只需要查询不需要增删改,所以试图更合适。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3a8f439
2013-03-07 · TA获得超过300个赞
知道小有建树答主
回答量:224
采纳率:100%
帮助的人:159万
展开全部
楼主需要对新表NEW做除了查询外的其他操作吗?如果没有,真不建议建新表,视图很合适
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
请叫我召哥
2013-03-07 · TA获得超过792个赞
知道小有建树答主
回答量:572
采纳率:95%
帮助的人:375万
展开全部
你可以用触发器.
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式