博客说明
文章内容输出来源:拉勾教育Java就业急训营
什么是触发器
当我们执行一条sql语句的时候,这条sql语句的执行会自动去触发执行其他的sql语句。
触发器的创建要素
- 监视地点:table(表)
- 监视事件:insert、update、delete(DML)
- 触发时间:before、after
- 触发事件:insert、update、delete(DML)
创建触发器
/*
格式:
DELIMITER $
CREATE TRIGGER 触发器名
BEFORE(前)/AFTER (后)(insert、update、delete)
ON tableName -- 触发器所在表
FOR EACH ROW -- 固定写法 表示行触发器
BEGIN
--- 被触发的事件
END $
*/
例子:在下订单的时候,对应的商品的库存量要相应的减少,卖出商品之后减少库存量。 编写触发器
监视的表:订单表
监视的事件:insert
触发时间:after
触发事件:update
-- 1.修改结束符号
DELIMITER $
-- 2.创建触发器
CREATE TRIGGER t1
--3.设置触发的时间 以及监视的事件 监视的表
AFTER INSERT ON 订单表
--4.行触发器
FOR EACH ROW
--5.触发后要执行的操作
BEGIN
--执行的操作
UPDATE 库存表 SET num = num - 1 WHERE 库存id = 4;
--6.结束
END $