sql 触发器 库存
一般来说库存操作单据和库存结余的联系都是通过客户端软件实现的,就是在入库单的审核操作按钮处加入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 --如果每...全部
一般来说库存操作单据和库存结余的联系都是通过客户端软件实现的,就是在入库单的审核操作按钮处加入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。收起