数据库的触发器的使用

 

 需要实现在passenger中添加乘客信息后,在classes(班次)中对应舱位的已售出票数+1
例:在passenger中添加了一个degree=“头等舱”的乘客,就在classes中对应头等舱已售出票数goodnumber+1   (经济舱类似,对应secondnumber+1

 

实现方法:

在passenger表中增加触发器,在新增passenger数据后,判断其对应的舱位信息degree,然后更新classes表中数据,完成更新

创建触发器的语句

1 CREATE DEFINER = `root`@`localhost` TRIGGER `after_passenger_insert` AFTER INSERT ON `passenger` FOR EACH ROW BEGIN
2     UPDATE classes SET goodnumber=goodnumber+1 where classnumber=new.classnumber AND new.degree="头等舱";
3 END;

在sql语句中,where后面所使用的条件均为classes中的数据,不带new的属于classes中的数据,带有new的属性为在passenger中新加入数据所带有的属性值(只有passenger表中才有degree)

 

posted @ 2024-07-14 08:52  连师傅只会helloword  阅读(24)  评论(0)    收藏  举报