mysql 触发器示例

一些操作会触发的函数。

如更新(增删改)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;


trigger.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值