• mysql触发器


    1. 触发器

       在满足对某张表数据的增、删、改的情况下,自动触发的功能称之为触发器

    2 .为何要用触发器?  

       触发器专门针对我们对某一张表数据增insert、删delete、改update的行为,这类行为一旦执行 就会触发触发器的执行,即自动运行另外一段sql代码

    3 创建触发器语法

      针对插入

      

    create trigger tri_after_insert_t1 after insert on 表名 for each row
    begin
        sql代码。。。
    end
    
    create trigger tri_after_insert_t2 before insert on 表名 for each row
    begin
        sql代码。。。
    end

    针对删除

    create trigger tri_after_delete_t1 after delete on 表名 for each row
    begin
        sql代码。。。
    end
    
    create trigger tri_after_delete_t2 before delete on 表名 for each row
    begin
        sql代码。。。
    end

    针对修改

    create trigger tri_after_update_t1 after update on 表名 for each row
    begin
        sql代码。。。
    end
    
    create trigger tri_after_update_t2 before update on 表名 for each row
    begin
        sql代码。。。
    end
    
    04 案例
    CREATE TABLE cmd (
        id INT PRIMARY KEY auto_increment,
        USER CHAR (32),
        priv CHAR (10),
        cmd CHAR (64),
        sub_time datetime, #提交时间
        success enum ('yes', 'no') #0代表执行失败
    );
    
    CREATE TABLE errlog (
        id INT PRIMARY KEY auto_increment,
        err_cmd CHAR (64),
        err_time datetime
    );
    
    delimiter $$
    create trigger tri_after_insert_cmd after insert on cmd for each row
    begin
        if NEW.success = 'no' then
            insert into errlog(err_cmd,err_time) values(NEW.cmd,NEW.sub_time);
        end if;
    end $$
    delimiter ;
    
    drop trigger tri_after_insert_cmd;
  • 相关阅读:
    maven 创建web项目出错
    poj1699--Best Sequence(dfs+剪枝)
    HDU-1042-N!(Java大法好 && HDU大数水题)
    “XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不同意的问题
    scala模式匹配
    scala匿名函数
    scala特质
    group by的使用
    liux之我用过的zip解压命令
    liunx之zip格式的解压命令
  • 原文地址:https://www.cnblogs.com/duGD/p/11031487.html
Copyright © 2020-2023  润新知