首页 新闻 会员 周边

oracle序列的问题

0
悬赏园豆:5 [待解决问题]
 

A系统导出,B系统导入,为了保证数据的高度统一性,决定A系统每天导出本月1号开始到当前时间时间的全部数据,这样B系统每天都能看见新的数据,而且每天都是同步的,直到月底统计得分。但是这意味着B系统数据库每天都得先清理掉当前月的数据,再重新导入新数据,这样太浪费序列了,不知道怎么得到更好的办法? 
xyq_雨晴的主页 xyq_雨晴 | 初学一级 | 园豆:159
提问于:2014-08-22 10:29
< >
分享
所有回答(2)
0

有更好的办法。

B系统不需要每天清理掉当前月的数据,只要在导入的时候,导入自己数据库中日期之后的A数据即可。

这样做的前提是,之前的数据不会再被修改到。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-08-22 11:01

就是因为A系统的数据不确定会不会改动,改动量大不大,所以才考虑从当前月1号开始导数据的~~

支持(0) 反对(0) xyq_雨晴 | 园豆:159 (初学一级) | 2014-08-22 11:03

@xyq_雨晴: 那就得看你改动的数据有没有什么记号,比如UpdateTime这类的,可以通过查询找出来。

要不然就是我上面的方法,再加上1号~B系统数据最晚日期的记录与A系统逐一对比,有差异的再更新,

这样也可以避免删除,创建的情况发生。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-08-22 11:06
0

如果B系统的序列不存在各种引用,那么你可以月初导入A系统数据的时候记录序列值,之后每天清数据时,对序列重新赋值即可。

如果你的B系统序列存在各种引用关系,那么赞同 @爱编程的大叔的观点:“

那就得看你改动的数据有没有什么记号,比如UpdateTime这类的,可以通过查询找出来。

要不然就是我上面的方法,再加上1号~B系统数据最晚日期的记录与A系统逐一对比,有差异的再更新,

这样也可以避免删除,创建的情况发生。”

bitbug | 园豆:470 (菜鸟二级) | 2014-09-09 16:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册