本文共 1215 字,大约阅读时间需要 4 分钟。
触发器(trigger):一触即发,就是当进行某种操作之后(或者之前),附加的一种操作就马上执行。 作用:监视某种情况并触发某种操作; 注意事项: 能监视的事件:增,删,改;能触发的事件:增,删,改; 监视地点:table 监视事件:insert/update/delete 触发时间:after/before 触发事件:insert/update/delete #建立商品表: create table goods(goodsId int, name varchar(10), num int)charset utf8$ #建立订单表: create table orders(ordersId int, goodsId int, num int)charset utf8$ #插入数据 insert into goods values(1,'猪',22),(2,'羊',19),(3,'狗',12),(4,'猫',8)$ #买三只羊 insert into orders values(1, 2, 3); #减少羊的库存 update goods set num = num -3 where goodsId = 2; #开始学着使用触发器 #监视地点:orders #监视操作:insert #触发操作:update #触发时间:after #创建第一个触发器 create trigger t1 after insert on orders for each row begin update goods set num = num -3 where goodsId = 2; end$ #删除触发器 drop trigger t1$ #创建第二个触发器 create trigger t2 after insert on orders for each row begin update goods set num = num - new.num where goodsId = new.goodsId; end$ #创建第三个触发器 create trigger t3 after delete on orders for each row begin update goods set num = num + old.num where goodsId = old.goodsId; end$ #创建第四个触发器 create trigger t4 after update on orders for each row begin update goods set num = num + old.num - new.num where goodsId = old.goodsId;end$
转自【http://www.open-open.com/lib/view/open1340337253596.html】
转载地址:http://yknpi.baihongyu.com/