码迷,mamicode.com
首页 > 其他好文 > 详细

第二十五章:使用触发器

时间:2019-11-07 19:29:38      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:new   block   insert   更改   into   stat   bin   values   cts   

@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);

第二十五章:使用触发器

标签:new   block   insert   更改   into   stat   bin   values   cts   

原文地址:https://www.cnblogs.com/zuotongbin/p/11814183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!