sql中触发器如何实现库存功能
这篇文章主要为大家展示了“sql中触发器如何实现库存功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sql中触发器如何实现库存功能”这篇文章吧。
表1、入库表列:入库单号零件号入库数量表2、出库表列:出库单号零件号出库数量表3:零件信息表列:零件号``````库存数量我想实现每一次的入库时,"零件信息表"里的"库存数量"要加上"入库数量",出库时,”库存数量“要减去”出库数量“,就是实现更新库存应该怎么做?写触发器吗,触发器该怎么写?还是有什么更好的方法,请高手帮助我,最好有详细代码,谢谢!
最佳答案
一般来说库存操作单据和库存结余的联系都是通过客户端软件实现的,就是在入库单的审核操作按钮处加入SQL代码,如果你的不是这样,也可以通过触发器来实现,但是完善的流程应该包括在插入、修改和删除时都保证对零件信息表的更改。1、CREATETRIGGERTr_入库表ON入库表afterinsert,update,deleteASbeginupdateaseta.库存数量=a.库存数量+b.入库数量from零件信息表a,(select零件号,sum(入库数量)入库数量frominsertedgroupby零件号)b--如果每次插入时零件号不重复,则不必聚合wherea.零件号=b.零件号;goupdateaseta.库存数量=a.库存数量-b.入库数量from零件信息表a,(select零件号,sum(入库数量)入库数量fromdeletedgroupby零件号)b--如果每次插入时零件号不重复,则不必聚合wherea.零件号=b.零件号;goend2、CREATETRIGGERTr_出库表ON出库表afterinsert,update,deleteASbeginupdateaseta.库存数量=a.库存数量-b.出库数量from零件信息表a,(select零件号,sum(出库数量)出库数量frominsertedgroupby零件号)b--如果每次插入时零件号不重复,则不必聚合wherea.零件号=b.零件号;goupdateaseta.库存数量=a.库存数量+b.出库数量from零件信息表a,(select零件号,sum(出库数量)出库数量fromdeletedgroupby零件号)b--如果每次插入时零件号不重复,则不必聚合wherea.零件号=b.零件号;goend
以上是“sql中触发器如何实现库存功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。