SQLSERVER存储过程、游标怎么使用

问题:表一:视图表,表二:物料表,通过存储过程、游标方式运算出表三剩余数量。

image.png

SQL ljinyong2019 发布于 2023-12-27 10:11 (编辑于 2023-12-27 10:15)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
快乐星光Lv5中级互助
发布于2023-12-27 10:21(编辑于 2023-12-27 10:27)

这个完全不需要存储,更不需要游标。直接sql left join 就可以了

select 

a.*,b.库存数量,sum(a.需求数量)over(partition by a.配件品号 oder by a.排产日期,a.订单单号) as 累计需求,

b.库存数量 - sum(a.需求数量)over(partition by a.配件品号 oder by a.排产日期,a.订单单号) as 剩余数量

from 视图表 a

left join 物料表 b on a.配件品号=b.配件品号

where 1=1

order by a.配件品号,a.排产日期,a.订单单号

  • ljinyong2019 ljinyong2019(提问者) SQL SERVER 2008 over partition by 不能使用,我想学一下存储过程和游标的使用
    2023-12-27 11:02 
  • 快乐星光 快乐星光 回复 ljinyong2019(提问者) 参考:https://www.qy.cn/jszx/detail/25503.html 但是游标是最复杂麻烦的一种,游标一般不用来处理这种逻辑。
    2023-12-27 11:25 
  • 2关注人数
  • 215浏览人数
  • 最后回答于:2023-12-27 10:27
    请选择关闭问题的原因
    确定 取消
    返回顶部