create trigger tri_入库表_delete on 入库表
for delete
as
update 库存表 set 数量=数量-a.数量 from deleted a where 库存表.货物id=a.货物id go当入库表有两行明细,货物ID是一样的就会出错
例如
IC01 100
IC01 500
当我把第二项明细删除,正常应该减去500库存,实际中发现是减去的100
不知怎么样解决,希各位能人援助。谢谢!
for delete
as
update 库存表 set 数量=数量-a.数量 from deleted a where 库存表.货物id=a.货物id go当入库表有两行明细,货物ID是一样的就会出错
例如
IC01 100
IC01 500
当我把第二项明细删除,正常应该减去500库存,实际中发现是减去的100
不知怎么样解决,希各位能人援助。谢谢!
for delete
as
update 库存表 set 数量=数量-(select sum(数量) from deleted a where 库存表.货物id=a.货物id )go
for delete
as
update a set 数量=a.数量-b.数量
from 库存表 a,(
select 数量=sum(数量), 货物id from deleted
group by 货物id
)b where a.货物id=b.货物id