SQL触发器执行次数:更新成绩触发器示例
触发器执行次数:更新成绩触发器示例
假设有一个学生成绩表'grade_t'(id,name,scores),包含以下记录:
(1, '张三', 30) ; (2, '李四', 90) ; (3, '王二', 50) ; (4, '赵强', 40) ; (5, '孙李', 70) ; (6, '冯陈', 50)
定义如下触发器:
CREATE TRIGGER trigger_1 AFTER UPDATE ON grade_t
REFERENCING OLD ROW AS OldTuple
FOR EACH ROW
WHERE (OldTuple.grade < 60)
-- 触发器执行体
现在执行以下更新语句:
UPDATE grade_t SET grade = 60 WHERE id < 6
触发器执行体会被执行2次。
根据更新语句'UPDATE grade_t SET grade = 60 WHERE id < 6',只有id为1和id为4的记录满足条件,需要更新成绩为60。因此,触发器执行体会被执行2次。
原文地址: https://www.cveoy.top/t/topic/qDyH 著作权归作者所有。请勿转载和采集!