mySql触发器入门系列一

1.初识触发器:

        应用场景(一):每当删除员工表中的一行时,都会在一个存档表emp_bak中备份一条。

        应用场景(二):每当订购一个产品时,都会在库存数量中减去订购的数量。

        应用场景(三):每当新增一个员工到表中时,都要检查其工作年限是否符合要求。

       触发器场景使用特点:在某事件发生时(如:INSERT .UPDATE,DELETE),自动处理一件事情。

2.触发器的创建

Create Trigger [触发器名称] [AFTER|BEFORE] [INSERT|UPDATE|DELETE] on [表名] for each row [需要自动处理的sql]

3.场景实战:

使用触发器实现场景一:

先创建一个表结构一样的备份表

mySql触发器入门系列一_第1张图片

触发器sql:

create trigger empDelBak after DELETE on emp for each row 
BEGIN
insert into emp_bak(empno,ename,job,mgr,hiredate,sal,comm,deptno)VALUES
(OLD.empno,OLD.ename,OLD.job,OLD.mgr,OLD.hiredate,OLD.sal,OLD.comm,OLD.deptno);
end;

mySql触发器入门系列一_第2张图片

测试效果:删除emp一条数据,发现emp_bak中保存了删除的记录

mySql触发器入门系列一_第3张图片

mySql触发器入门系列一_第4张图片

2.场景三模拟测试

 

 

你可能感兴趣的:(数据库)