一些操作会触发的函数。
如更新(增删改)rule_hzq_all(或 b_rule_table)表的时候,我们希望对更新操作做记录。
这种情况使用触发器,用户对 rule_hzq_all 有更新操作时,触发记录函数。
CREATE table update_history ( bussiness varchar(12), operation varchar(12), rule_id varchar(64), time timestamp ) DELIMITER // CREATE TRIGGER t_afterupdate_on_rulecheckall AFTER update ON rule_hzq_all FOR EACH ROW BEGIN DECLARE changed_col varchar(512); set changed_col = ''; if old.rule_id <> new.rule_id then set changed_col = CONCAT(changed_col, 'rule_id&'); end if; if changed_col <> '' then set changed_col = left(changed_col, length(changed_col) - 1); end if; insert into update_history values ('check', 'update', old.rule_id, current_timestamp()); END; CREATE TRIGGER t_afterinsert_on_rulehzqall AFTER insert ON rule_hzq_all FOR EACH ROW BEGIN insert into update_history values ('check', 'insert', new.rule_id,current_timestamp()); END; CREATE TRIGGER t_afterdelete_on_rulehzqall AFTER delete ON rule_hzq_all FOR EACH ROW BEGIN insert into update_history values ('check', 'delete', old.rule_id,current_timestamp()); END; |