oracle存储过程抽取数据

发布于 2021-11-21 18:55:39 字数 224 浏览 713 评论 9

现在项目有个需求,做个简单的ETL,想用存储过程做。

两个表(还款明细)A表、(代扣明细)B表,从表A查询出几列数据更新到表B的某几列中(查询条件来自表B),目前还款明细(来自于B)里面只有应还款、没有实还款,银联代扣后会有一个返回,返回的数据每一行已经插入表A,现在要把返回来的扣款结果更新到还款明细中。请指点一下存储过程怎么写。

如果这种方式不够好,请问什么方式会比较符合现有业务?谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

樱花落人离去 2021-11-24 14:36:34

就是当初他们在设计表时候的缺陷、导致现在两边不好对应上!

猫性小仙女 2021-11-24 14:36:23

回复
其实这个与表设计的关系不太大,而是实际业务能不能反映出没一笔代扣所对应的还款记录,如果实际业务操作的过程中做不到的话,那就只能用最早余额核销的办法,如果实际业务操作中能反映出每笔代扣对应的还款,那就是就多一张表来记录对应关系。

柳絮泡泡 2021-11-24 14:34:43

这个过程应该是财务上的应收与收款的核销,有点繁琐,关键问题在于每笔代扣与还款是否有线索号够关联上,如果代扣与还款明细没有关联的话,那就只能根据最早余额的办法,把2张表的记录根据时间排序,然后进行勾兑,从代扣表的第一条记录开始,拿着代扣金额到还款明细里去勾兑,有余额的话直接取下一条,余额不足的话,再继续取代扣表的第二条记录,以此类推,直到把代扣表的金额核销完。

归途 2021-11-24 14:34:08

提升效率 的话,过程里面尽量不要使用 update 和游标,  使用 merge into

霞映澄塘 2021-11-24 14:01:28

没那么简单

瀞厅☆埖开 2021-11-24 12:50:26

回复
那你把需求说的详细点吧

秋意浓 2021-11-24 12:39:58

难道是我想复杂啦!汗

归属感 2021-11-24 11:58:33

回复
那给分吧,hoho

明月松间行 2021-11-23 16:04:54

update B set B.xxx = A.xxx where B.id = A.id

你说的需求用这条足够了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文