mysql触发器

xiaoxiao2021-02-28  100

1.触发器 触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。SQL3的触发器是一个能由系统自动执行对数据库修改的语句。保证数据完整性。 2.新建表 假设系统中有两个表:  班级表 class(班级号 classID, 班内学生数 stuCount) 学生表 student(学号 stuID, 所属班级号 classID) 要创建触发器来使班级表中的班内学生数随着学生的添加自动更新,代码如下: DELIMITER $  create trigger tri_stuInsert after insert  on student for each row  begin  declare c int;  set c =(select 班内学生数 from class where 班级号=3);  update class set 班内学生数 =c+1 where 班级号 =3;  end$  DELIMITER ;  DELIMITER $  create trigger tri_stuInsert1 after DELETE  on student for each row  begin  declare c int;  set c=(select 班内学生数 from class where 班级号=3);  update class set 班内学生数=c-1 where 班级号 =3;  end$  DELIMITER ; DELETE from student WHERE 学号=1 DELIMITER $  create trigger tri_stuInsert2 after   on student for each row  begin  declare c int;  set c=(select 班内学生数 from class where 班级号=3);  update class set 班内学生数=c-1 where 班级号 =3;  end$  DELIMITER ; insert into student(学号,所属班级)VALUES(3,3);
转载请注明原文地址: https://www.6miu.com/read-77308.html

最新回复(0)