实例:
CREATE DEFINER=`root`@`%` TRIGGER `jq`.`jq_jam_event_t_BEFORE_UPDATE` BEFORE UPDATE ON `jq_jam_event_t` FOR EACH ROW
BEGINif new.duration<=120 then
set new.zt=0;
elseif new.duration<=300 and new.duration>120 then
set new.zt=1;
elseif new.duration>300 then
set new.zt=2;
end if;
END
在oracle中会由于事务冲突,不能直接更新本表的,可以使用 PRAGMA AUTONOMOUS_TRANSACTION; 作为自制事务;
但在mysql中没有这种自制事务,所以更新本表的时候不能使用update来更新,而要使用set new.column=?? 来更新字段值。
注意:触发器只能是before update