数据库系统--基于Mysql的触发器应用 (超详细/设计/实验/作业/练习)

目录

  • 课程名:数据库系统
    • 内容/作用:设计/实验/作业/练习
    • 学习:基于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 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之间;若不存在,则显示无法插入,且不插入记录;否则,插入相应记录。

四、总结

好好学习,天天向上。

你可能感兴趣的:(数据库系统,mysql,数据库,sql,物联网)