数据库系统--基于Mysql的触发器应用 (超详细/设计/实验/作业/练习)
创始人
2024-06-01 10:21:28
0

目录

  • 课程名:数据库系统
    • 内容/作用:设计/实验/作业/练习
    • 学习:基于Mysql的触发器应用
    • 一、前言
    • 二、环境与设备
    • 三、内容
    • 四、总结

课程名:数据库系统

内容/作用:设计/实验/作业/练习

学习:基于Mysql的触发器应用

一、前言

1.了解触发器的相关知识
2.掌握触发器的定义
3.理解触发器的使用方法及其特点

二、环境与设备

1、设备:Windows 10
2、软件:DiagramDesigner

三、内容

  1、建立触发器trig_scores实现当向SC表中插入一条记录时,先检查插入记录中scores字段的值是否在0-100的范围之间,若在则插入,否则插入记录后将新纪录的scores字段设置为0。

create trigger trig_scores before insert on sc 
for each row 
begin if new.scores>=0 or new.scores<=100 thenset @a= '有效';elseset @a= '无效';update sc set scores=0 where sc.sno=new.snoend if;
end

  2、建立触发器trig_sno实现当向student表插入一条记录时,先检查插入的学生是否存在student表中,若存在,在不允许插入,否则可以插入。

create trigger trig_sno before insert on student 
for each row 
select sno into @b from student where son=new.sno
begin if @b is not null thenDELETE from student where sno=now.sno;end if;
end

自行练习:

  3、建立触发器trig_stu实现当student表中删除记录时,相应的sc表也删除。

  4、建立触发器trig_dels实现当student表修改学生学号时,相应的sc表也修改。

  5、建立触发器trig_ins实现当向sc表插入一条记录时,先检查插入记录的学号是否存在student、课程号是否存在course表,成绩是否在0-100之间;若不存在,则显示无法插入,且不插入记录;否则,插入相应记录。

四、总结

好好学习,天天向上。

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...