• 《MySQL必知必会》第二十五章:使用触发器


    @author: Tobin
    @date: 2019/11/7 17:07:04

    MySQL5中增加的。
    触发器是根据条件自动执行语句。只支持DELETE,UPATE,INSERT。最好在一个数据库中使用唯一的触发器名。
    触发器只支持每个表的每个事件,每个表最多支持6个。

    -- 创建触发器
    CREATE TRIGGER newproduct AFTER INSERT ON products
    FOR EACH ROW SELECT 'Product added';
    
    -- 删除触发器
    DROP TRIGGER newproduct;
    -- 使用触发器
    -- INSERT触发器
    -- 引用一个NEW虚拟的表,访问被插入行,类比this指针
    CREATE TRIGGER neworder AFTER INSERT ON orders
    FOR EACH ROW SELECT NEW.order_num;
    -- 通常将BEFORE用于数据验证和净化
    
    -- DELETE 触发器
    -- 引用一个OLD虚拟的表,访问被删除行,只读,不能更改
    CREATE TRIGGER deleteorder BEFORE DELETE ON orders
    FOR EACH ROW 
    BEGIN
        INSERT INTO archive_orders(order_num, order_date, cust_id)
        VALUES(OLD.order_num, OLD.order_date, OLD.cust_id);
    END;
    
    -- UPDATE触发器
    -- BEFORE: NEW,AFTER: OLD
    CREATE TRIGGER updatevendor BEFORE UPDATE ON vendors
    FOR EACH ROW SET NEW.vend_state = Upper(NEW.vend_state);
    
  • 相关阅读:
    linux 重新设置mysql密码
    php 一些个 常用 函数
    nginx php错误日志开启
    linux crontab 定时执行任务(php)
    聚合短信接口-- php
    Commons Collections1分析
    spring之 注解ioc&依赖注入 & spring整合mybatis
    Spring之 IOC&依赖注入
    java之 Mybatis(二)
    java之 MyBatis(一)
  • 原文地址:https://www.cnblogs.com/zuotongbin/p/11814183.html
Copyright © 2020-2023  润新知