自学内容网 自学内容网

MySQL创建和管理触发器

1.在教务管理系统数据库d_eams的course表中,创建一个插入事件触发器tr_course,添加一条课程信息时,显示提示信息。

delimiter %%
create trigger tr_course after insert
on course for each row 
begin
set @tr_i ='操作成功!';
end%%
delimiter ;

insert into course
values('07013', 'UI设计', null, 4, 4, '4');
select @tr_i;

2.在d_eams数据库的student表中创建一个名为tr_update的触发器,该触发器将不允许用户修改表中的记录(本例通过ROLLBACK WORK子句恢复原来数据的方法,来实现记录不被修改)。
 

delimiter $$
create trigger tr_update after update
on student for each row 
begin
set @inf = '你不能做任何更改!';
end$$
delimiter ;

begin work;
update student
set 民族 ='蒙古族'
where 学号='201007003';
rollback work;
select @inf;
select * from student
where 学号 = '201007003';

3.在d_eams数据库的sc表中创建一个名为ct_delete的触发器,该触发器将对sc表中删除记录的操作给出提示信息,并取消当前的删除操作。(本例通过ROLLBACK WORK子句恢复原来数据的方法,来实现记录不被删除)。

delimiter $$
create trigger ct_delete before delete
on sc for each row 
begin 
set @info1='你无权删除此记录!';
end$$
delimiter ;

begin work;
delete from sc
where 学号 = '201007001';
rollback work;
select @info1;
select * from sc
where 学号 = '201007001';

4.查看ct_delete触发器。

show create trigger ct_delete;


5.删除ct_delete触发器。

drop trigger ct_delete;


 


原文地址:https://blog.csdn.net/2403_87427886/article/details/143943292

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!