DELIMITER //
CREATE TRIGGER Question_01 BEFORE INSERT ON SC FOR EACH ROW
BEGIN
IF new.grade>=90 THEN
UPDATE trank SET num=num+1 WHERE division='100-90' AND cno=new.cno;
ELSEIF new.grade BETWEEN 89 AND 80 THEN
UPDATE trank SET num=num+1 WHERE division='89-80' AND cno=new.cno;
ELSEIF new.grade BETWEEN 79 AND 70 THEN
UPDATE trank SET num=num+1 WHERE division='79-70' AND cno=new.cno;
ELSEIF new.grade BETWEEN 69 AND 60 THEN
UPDATE trank SET num=num+1 WHERE division='69-60' AND cno=new.cno;
ELSEIF new.grade<60 THEN
UPDATE trank SET num=num+1 WHERE division='59-0' AND cno=new.cno;
END IF;
END//
DELIMITER ;
为什么触发器中的IF语句只判断第一个,后面ELSEIF不进行判断了
我试过插入很多数据,触发器只会执行判断第一个IF条件,就相当于我插入一条成绩为95的数据,就可以执行后面的更新语句,但是如果插入的是一条成绩为85的数据,第一个IF判断不匹配,但后面的ELSEIF就不会在进行判断了,这是为什么?