触发器 TRIGGER
1、触发器的定义
2、使用的场景
3、掌握触发器的创建语法
4、理解触发器的触发机制
什么叫做触发器?
当一个表中的数据发生改变的时候,会引起其他表中相关数据改变,
编制一个小程序附着在表上,把这种改变自动化执行,成为触发器。
触发器的类型?
在进行insert、update、delete操作时,触发相关的insert、update、delete
触发器触发。分为:insert、update、delete触发器。
USE wlw;
CREATE TABLE goods
(
gid INT NOT NULL PRIMARY KEY COMMENT '商品编号',
gname VARCHAR(20) COMMENT '商品名称',
kcnum DECIMAL(4,2) COMMENT '库存数量'
);
INSERT INTO goods VALUES(112,'肉猪',25);
INSERT INTO goods VALUES(113,'臭狗',56);
INSERT INTO goods VALUES(114,'瞎马',78);
SELECT * FROM goods;
CREATE TABLE dindans
(
ddh INT NOT NULL PRIMARY KEY COMMENT '订单号',
gid INT COMMENT '商品编号',
gname VARCHAR(20) COMMENT '商品名称',
ddnum DECIMAL(4,2) COMMENT '订单数量'
);
SELECT * FROM dindans;
=====================================
#insert触发器
DELIMITER $$
CREATE TRIGGER tri_insert
AFTER INSERT #在插入之后
ON dindans #在某个表上创建触发器
FOR EACH ROW #insert的每一行
BEGIN
UPDATE goods
SET kcnum = kcnum - new.ddnum #new代表着新插入的这一行,new是一个行对象,相当于dindans表的一行,new.