在存储过程中遇到问题,急救!!!!

dongtianjie dongtianjie 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需求说明:
有一个销售的一个例子
------------------------------------------------------------
seq dealer proid qty
1 D1 123 1
2 D1 123 -1
3 D1 123 1
4 D2 234 1
5 D2 234 -1
6 D3 234 1

我举了两个比较特殊的例子,现在多上面的数据进行说明
seq 是每条记录的唯一标识
proid 在表中表示一个产品,并且在这个表中proid其实只有一个产品
qty为1表示入账,-1表示销账
如产品123, 是由D1 入-〉销-〉入 所以目的就是返回seq=3
如产品234 由D2 入-〉销, D3 入 所以返回的返seq=6 的纪录
然后将seq=3 和seq=6 插入到另一个表示处理完成的表中。

(仅对这个比较特殊的数据)我的思路是,对用游标得到第一条记录,然后查询
求出sum(qty) 结果为1, 然后在表中查询该proid的qty=1 的记录,
再取消dealer重复值, 则123 返回一个dealer , 234 返回两个dealer

这是发现无法实现需求。
首先,对于123, 返回两个相同的,将seq=1 或 seq=3 多可以插入到需要的表,但是如果返回两个seq , 在存储过程中,如何得到第一条记录的seq值呢???
对于234, 我就没有办法得到结果了。


所以我的思路进行不下去。同时,用游标必须要考虑下一条记录的proid值已经被处理过了
那么检查发现已经处理,如何继续向下移动游标呢,是不是在判断之后用 fetch next from ...
来下移呢?(我还没有来的及测试运行)


所以,希望大家给出帮助,
1、这个问题的正确,简单的解法
2、依据我的思路是否可以进行修正,因为我已经实现了一部分。
3、依据条件移动游标的正确做法是??

确实很急, 两天了,头都大了好几圈了

先谢了

...全文

相关推荐

深入解析BGP协议:网络边界的路由守卫

BGP协议是互联网的核心组成部分,它允许不同网络之间动态交换路由信息,确保了互联网的稳定性和可靠性。通过本文的介绍,读者应该对BGP有了更深入的了解,包括其定义、工作原理、特点以及如何在实际网络中进行配置。随着网络技术的不断发展,BGP将继续在网络边界路由管理中发挥关键作用。

2401_85761762

vue面试题-路由守卫 / 导航守卫

说到权限 那么肯定是根据不同账户得到不同的权限来做路由配置和菜单的渲染 第一点当我们登录之后会获取到当前账户的身份(权限),那么我们的路由配置实际上就是一个数组 我们要做的事情就是把获取到的身份与这个数组做对比,通过相关的计算筛选出最终匹配当前身份的路由配置 然后将计算出来的路由数组通过router.addRouters动态挂载 还要注意的一点就是需要将我们筛选出来的路由配置渲染到我们的前端页面上去一一相对应

荒野大飞

vue router路由嵌套不显示问题的解决方法

主要为大家详细介绍了vue router路由嵌套不显示的问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下vue-router 路由嵌套不显示问题

weixin_38538312

详解vue路由篇(动态路由、路由嵌套)

主要介绍了详解vue路由篇(动态路由、路由嵌套),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

weixin_38720173

路由

路由

老盐蛋炒饭
评论 3
收藏 已收藏
分享
返回顶部
dongtianjie
应用实例 27,579 成员 68,540 内容