数据库编程
触发器举例
1)掌握——触发器的应用;
课程目标
PART ONE
触发器举例
【例】 创建一个触发器,当修改Sell表中订购册数时,如果修改后的订购册数小于5本,则触发器将该对应的折扣修改为1,否则,折扣修改为0.8。
DELIMITER $$
CREATE TRIGGER sell_update BEFORE UPDATE
ON Sell FOR EACH ROW
BEGIN
IF NEW.订购册数<5 THEN
UPDATE Book SET 折扣=1 WHERE 图书编号=NEW.图书编号;
ELSE
UPDATE Book SET 折扣=0.8 WHERE 图书编号=NEW.图书编号;
END IF;
END$$
DELIMITER ;
因为是修改了Sell表的记录后才执行触发器程序修改Book表中的记录,此时Sell表中该记录已经修改了,所以只能用NEW.图书编号来表示这个修改后的记录的图书编号,Book表使用WHERE 图书编号=NEW.图书编号条件查找要修改的记录。
触发器举例
现在验证触发器的功能:
UPDATE Sell SET 订购册数=4
WHERE