MySQL触发器增删改实例

表字段
商品表: goods(gid,gname,price)其属性是商品编码,商品名称,单价
销售表: detail (did,gid,price,shuliang,jine)其属性是销售单号,商品编号,单价,数量,金额

添加商品,自动向销售明细里添加数据

DELIMITER $$
DROP TRIGGER IF EXISTS ins_detail_on_goods $$
CREATE TRIGGER ins_detail_on_goods 
AFTER INSERT ON goods
FOR EACH ROW BEGIN
INSERT detail(gid,price,shuliang,jine) VALUES(new.gid,new.price,0,0);
END$$

删除商品,自动删除销售明细里的数据

DELIMITER $$
DROP TRIGGER IF EXISTS del_detail_on_goods $$
CREATE TRIGGER del_detail_on_goods 
AFTER DELETE ON goods
FOR EACH ROW BEGIN
DELETE FROM detail WHERE gid=old.gid;
END$$

修改商品的单价,自动修改销售明细里对应商品的单价和金额

DELIMITER $$
DROP TRIGGER IF EXISTS upd_detail_on_goods $$
CREATE TRIGGER upd_detail_on_goods 
AFTER UPDATE ON goods
FOR EACH ROW BEGIN
UPDATE detail SET price=new.price,jine=shuliang*(new.price) WHERE gid=(SELECT gid FROM goods WHERE  price=new.price);
END$$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值