课程名:数据库系统
内容/作用:设计/实验/作业/练习
学习:基于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 then
set @a= '有效';
else
set @a= '无效';
update sc set scores=0 where sc.sno=new.sno
end 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 then
DELETE 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之间;若不存在,则显示无法插入,且不插入记录;否则,插入相应记录。
四、总结
好好学习,天天向上。