Tiger_shl 2020-04-08 10:19 采纳率: 25%
浏览 171

遇到一个实际业务问题,没啥思路,寻求意见,望指点

有A,B两个数据库,分别都有一个部门表,里面存放的是部门的数据,部门之间是相关关联的,也就是说除了最高部门,其他每个部门都有上级部门.
如图:图片说明

现在需求是这样的,要把A库中的部门表,同步至B表(定时任务),保持A库和B库部门数据一致。但是A表中的部门表数据主键和上级部门用的是GUID,而B表里面的主键和上级部门用的是int(主键是自增的),两个表中不能在增加字段。如何能把A库中的部门数据同步至B库中,并且部门架构保持和A库中相同。
自己想了一个办法,

1.通过递归将最高部门找到,然后按照最高部门往回推算,获取到所有的部门信息,将部门信息新增至B库中的部门表;

2.再次遍历将B库中的各部门关联在一起

有点麻烦,不知道有没有更好的方案

  • 写回答

1条回答 默认 最新

  • weixin_42632763 2020-04-08 10:57
    关注

    1.直接把a表搬到b表,b表主键自动生成
    2.刷b表上级部门名称序列
    用a表部门名称做业务主键关联b表部门名称,根据a表上级部门名称找到b表上级部门名称在b表对应的序列刷到b表(就是一个update语句)

    评论

报告相同问题?