• mysql触发器 学习


    1.       说明:

    触发器的定义就是说某个条件成立的时候,你触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好的了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。

    2.       触发器作用:

    安全性;审计;实现复杂的数据完整性规则;实现复杂的非标准的数据库相关完整性规则;同步实时地复制表中的数据

    3.       语法结构:

    create trigger trigger_name (BEFORE|AFTER) (delete|update|insert) on table_name

    for each row

    BEGIN

    要触发的sql语句;

    END;;

    4.       例子1:

    DELIMITER ;;    定义sql命令结束符

    /*

    drop trigger D1;;  删除触发器

    drop trigger D1;;

    */

    create  trigger D1 BEFORE delete on employee

    for each row      表示行级触发器

    BEGIN

    insert into tg_employee_log set name=old.name,name_id=old.employee_id,action='delete';

    update tg_assets_info set as_status='2',user=205 where user=old.employee_id;

    END;;                 

    表示在删除employee里的数据之前,在tg_employee_log表里面插入一条数据,并且更新tg_assets表的数据。

    注意:这里用到的old.employee_id,表示删除之前的数据。

    5.       例子2:

    create  trigger D2 AFTER insert on employee

    for each row

    BEGIN

    insert into tg_employee_log set name=new.name,name_id=new.employee_id,action='add';

    END;;

    表示在employee插入之后,在tg_employee_log表里插入一条数据。

    注意:这里用到了new.employee_id,表示插入之后产生的新数据。

    DELIMITER ;

    create trigger trigger_name (BEFOFE|AFTER) (delete|update|insert) on table_name
    
    for each row
    
    BEGIN
    
    要解发的sql语句
    
    END;;
    
    
    
    
    
    
    
    CREATE TRIGGER `tb_trigger_insert` AFTER INSERT ON `tb_trigger`
    
    FOR EACH
    
    ROW INSERT INTO `tb_trigger_log` SET `action` = 'insert',`actionid` = new.id;
    
    
    
    
    CREATE TRIGGER `delete_tb_sys_template_source` BEFORE DELETE ON `tb_sys_template`
    FOR EACH ROW
    DELETE FROM `tb_sys_template_source` WHERE `templateid`=old.id;
    
    
    
    CREATE TRIGGER `delete_tb_sys_template_source` BEFORE DELETE ON `tb_sys_template` 
    FOR EACH ROW 
    DELETE FROM `tb_sys_template_source` WHERE `templateid` = old.id;
    

      

  • 相关阅读:
    wpf中DataGrid自定义验证(包含BindingGroup)
    WPF博客地址分享
    ComboBox在WPF中的绑定示例:绑定项、集合、转换,及其源代码
    【windows phone】CollectionViewSource的妙用
    WPF之Binding深入探讨
    正确理解WPF中的TemplatedParent
    继续聊WPF——获取ComboBox中绑定的值
    WPF触发器(Trigger、DataTrigger、EventTrigger)
    jQuery和javaScript页面加载完成时触发的事件
    jQuery对象和dom对象的转换
  • 原文地址:https://www.cnblogs.com/xiangxiaodong/p/3251715.html
Copyright © 2020-2023  润新知