sql中触发器如何实现库存功能

发布时间:2022-01-15 09:30:17 作者:小新
来源:亿速云 阅读:689

这篇文章主要为大家展示了“sql中触发器如何实现库存功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sql中触发器如何实现库存功能”这篇文章吧。

表1、入库表      
  列:入库单号   零件号    入库数量  
表2、出库表      
  列:出库单号   零件号    出库数量   
表3:零件信息表
  列:零件号`````` 库存数量  
我想实现每一次的入库时,"零件信息表"里的"库存数量"要加上"入库数量",出库时,”库存数量“要减去”出库数量“,就是实现更新库存应该怎么做?写触发器吗,触发器该怎么写?还是有什么更好的方法,请高手帮助我,最好有详细代码,谢谢!

最佳答案

一般来说库存操作单据和库存结余的联系都是通过客户端软件实现的,就是在入库单的审核操作按钮处加入SQL代码,如果你的不是这样,也可以通过触发器来实现,但是完善的流程应该包括在插入、修改和删除时都保证对零件信息表的更改。

1、CREATE TRIGGER Tr_入库表 ON 入库表
after insert,update,delete
AS
begin
  update a set a.库存数量=a.库存数量 +b.入库数量
  from  零件信息表 a,(select 零件号,sum(入库数量) 入库数量 from inserted group by 零件号 ) b  --如果每次插入时零件号不重复,则不必聚合
  where a.零件号 =b.零件号;
  go
  update a set a.库存数量=a.库存数量 -b.入库数量
  from  零件信息表 a,(select 零件号,sum(入库数量) 入库数量 from deleted group by 零件号 ) b  --如果每次插入时零件号不重复,则不必聚合
  where a.零件号 =b.零件号;
  go
end

2、CREATE TRIGGER Tr_出库表 ON 出库表
after insert,update,delete
AS
begin
  update a set a.库存数量=a.库存数量 -b.出库数量
  from  零件信息表 a,(select 零件号,sum(出库数量) 出库数量 from inserted group by 零件号 ) b  --如果每次插入时零件号不重复,则不必聚合
  where a.零件号 =b.零件号;
  go
  update a set a.库存数量=a.库存数量 +b.出库数量
  from  零件信息表 a,(select 零件号,sum(出库数量) 出库数量 from deleted group by 零件号 ) b  --如果每次插入时零件号不重复,则不必聚合
  where a.零件号 =b.零件号;
  go
end

以上是“sql中触发器如何实现库存功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. SQL触发器
  2. SQL Server 创建触发器

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql

上一篇:spring中常用的九种设计模式是什么

下一篇:springboot整合quartz定时任务框架的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》