从 oracle 数据库导入会员到另一个系统的 oracle 数据库

背景:新项目正式运行,已经有一些客户了,之前另一个项目的客户想转到新项目来。

需求:需要将旧项目的会员,及其会员相关的会员卡,会员标签,会员分类,会员档案等相关资料一并导入过来(为了讲述清楚,只讲这部分内容),同时要保留会员id和其它表的对应关系。

难点:如果直接将旧系统的会员导入到新系统,可能 id 会冲突,导致导入失败。

开发:

1.查了一下生产,每个门店平均大概有1w个会员
2. 领导提供的思路是,先导入一个会员,然后获取新的主键id,然后导入和这个会员相关的其它记录,更新会员id 为新的会员id。但是个人感觉这样导入太慢了。
3. 自己的实现是:

新建临时表,和会员表字段一致, 
	临时表新加一个字段,取名  newId.;
	将旧系统的会员资料先导入到临时表,在插入的同时 根据 oracle 的 seq 序列号获取 新系统的会员id序列 放入 newId  字段;
	导入会员标签,会员分类等其它表;
	根据临时表记录的 旧id 和 新id 的映射关系,批量更新标签,分类表的 会员id;
	将临时表的newId作为主键id,将记录导入到新系统的会员表中
	删除临时表。

在这里插入图片描述

网上找过相关资料,说可以使用阿里的 datax ,但是我看了下,好像不太符合我们的需求,下次再补充一期 datax 的吧。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值