概述
实验环境:
1、 操作系统:window10
2、 MySQL 5.7
实验内容与完成情况:
1.在sc表中创建insert、update触发器,检查学号是否为student表中的学号,若无则不许插入选课记录或修改选课表学生学号。
1.1 创建insert触发器:
delimiter //
create trigger TR_SC_IN_SNO after insert on sc
for each row
begin
if new.sno not in (select sno from student) then
signal sqlstate '45000'
set message_text='Insert Error';
end if;
end;//
delimiter ;
1.2 创建update触发器:
delimiter //
create trigger TR_SC_UP_SNO after update on sc
for each row
begin
if new.sno not in (select sno from student) then
signal sqlstate '45000'
set message_text='Update Error';
end if;
end;//
delimiter ;
2.在sc表中录入或修改实验数据,查看触发器的执行情况。
首先查看student表中存在的学生学号,如下所示:
2.1 在sc表中录入数据:
insert into sc values
('2006005','2',80);
运行结果:
11:22:32 insert into sc values (‘2006005’,‘2’,80) Error Code: 1644. Insert Error 0.015 sec
2.2 在sc表中修改数据:
update sc set sno='2006005' where sno='2005005';
运行结果:
11:25:15 update sc set sno=‘2006005’ where sno=‘2005005’ Error Code: 1644. Update Error 0.000 sec
最后
以上就是内向秀发为你收集整理的MySQL——触发器的基本操作的全部内容,希望文章能够帮你解决MySQL——触发器的基本操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复