8 触发器

2018-05-25  本文已影响8人  沈婷_bbf1

Select * from student/G;

Select * from student/g;

,前面那个是竖行显示,后面这个是正常显示。两个显示效果不一样,


触发器就是对这个表进行某种操作会触发触发器执行一个操作,相当于vba中的事件,

触发器不能够更新或者覆盖,为了修改一个触发器,必须先删除它,然后再重新创建。

delimiter //

create trigger dd after insert on stu foreach row

begin

if new.age>18 then     New 新加的内容,old原来的内容。

insert into stu3 values(new.id,new.name,new.age);

end if ;

end

// delimiter;

drop trigger dd ;

这个触发器是当stu表里面增加了一个年龄大于18岁的同学,stu3表里面也会同时增加,非常类似于外键。

delimiter //

create trigger da after update on stu foreach row

begin

if new.age>=18 then

replace into stu3values(new.id,new.name,new.age);

else

delete from stu3 where id=new.id;

end if ;

end

// delimiter;

这个触发器处理的内容是当stu中更改年龄时,触发,当更改的年龄大于18岁,就加到stu3表中,当stu表中年龄更改小于18,就从stu3表中删除。非常巧妙用了replace减少了一个判断

delimiter //

create trigger bc  after delete on stu for each row

begin

delete from stu3 where id=old.id;

end

// delimiter

注意写触发器的时候,一定要记得写after before 之类的话。

上一篇下一篇

猜你喜欢

热点阅读