MySql触发器之入库与出库

入库

-- ----------------------------
-- Trigger structure for t_afterInsert_on_jxypcg

采购
-- ----------------------------
DELIMITER ;;
CREATE TRIGGER `t_afterInsert_on_jxypcg` AFTER INSERT ON `jw_jxypcg` FOR EACH ROW begin
declare v_2 int(10);
declare v_3 int(10);
declare v_4 int(10);
declare v_5 int(10);
set v_2=new.JXYPCG_ID;
set v_3=new.CGSL;
set v_4=(SELECT COUNT(*) FROM jw_jxypkcb AS j WHERE j.JXYPJBXX_ID=new.JXYPJBXX_ID );
IF v_4 !=0 THEN
set v_5=(SELECT SJKCS FROM jw_jxypkcb AS j WHERE j.JXYPJBXX_ID=new.JXYPJBXX_ID );
UPDATE jw_jxypkcb SET SJKCS= v_3+v_5 WHERE JXYPJBXX_ID=new.JXYPJBXX_ID;
ELSE
insert into jw_jxypkcb set JXYPJBXX_ID=new.JXYPJBXX_ID,SJKCS=v_3;
END IF;
end;;
DELIMITER ;

出库

-- ----------------------------
-- Trigger structure for t_afterInsert_on_jxyply

领用
-- ----------------------------
DELIMITER ;;
CREATE TRIGGER `t_afterInsert_on_jxyply` AFTER INSERT ON `jw_jxyplyb` FOR EACH ROW begin
declare v_3 int(10);
declare v_4 int(10);
declare v_5 int(10);
set v_3=new.LYSL;
set v_4=(SELECT COUNT(*) FROM jw_jxypkcb AS j WHERE j.JXYPJBXX_ID=new.JXYPJBXX_ID );
IF v_4 !=0 THEN
set v_5=(SELECT SJKCS FROM jw_jxypkcb AS j WHERE j.JXYPJBXX_ID=new.JXYPJBXX_ID );
UPDATE jw_jxypkcb SET SJKCS= v_5-v_3 WHERE JXYPJBXX_ID=new.JXYPJBXX_ID;
END IF;
end;;
DELIMITER ;

触发器减少了许多用程序很麻烦实现的业务,很好用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值