最近在做WMS…,遇到点小难题,想记录一下:
问题是这样:WMS中总共有两个表,一个库存表,一个出库表。我要在点击出库的同时,将库存表中的**inventory(库存)**减少x个,再将出库表中的库存增加x个,如何实现?
出库表中的库存:
库存表中的库存:
于是我在出库表中构造了触发器
CREATE TRIGGER `inv_out` AFTER INSERT ON `tb_out` FOR EACH ROW
BEGIN
SET @a=new.out_name;
SET @b=new.out_sum;
IF(SELECT tb_inventory.`name` FROM tb_inventory WHERE tb_inventory.`name`=@a) IS NOT NULL THEN
IF(SELECT tb_inventory.inventory FROM tb_inventory WHERE
tb_inventory.inventory>=new.out_sum AND tb_inventory.`name`=new.out_name) IS NOT NULL THEN
UPDATE tb_inventory
SET tb_inventory.inventory=tb_inventory.inventory-@b
WHERE tb_inventory.`name`=@a;
END IF;
END IF;
END
实现了在出库的同时,修改了库存表的库存信息。