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