博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql之触发器
阅读量:6965 次
发布时间:2019-06-27

本文共 1577 字,大约阅读时间需要 5 分钟。

1.触发器

2.创建触发器语法

 

 

(1)创建一个触发器,这样当order_table这个订单表中被insert插入数据后,就会触发begin和end之间的sql语句,after insert表示被监听的order_table表在insert之后触发触发器begin和end之间的代码。

-- 创建一个触发器tg1 监听order_table表,当order_table表有了insert操作之后-- 触发begin和end中间的sql语句,begin和end之间的sql语句可以有多条sql语句,多条sql语句用;间隔create TRIGGER tg1 AFTER INSERT on order_tablefor EACH row -- 固定写法BEGIN    update goods set num = num -3 where id = 1;END

(2)删除触发器

-- 删除触发器DROP TRIGGER tg1;

(3)触发器中的语句动态的得到监听表中数据的更新或插入数据的值

-- 创建一个触发器tg1 监听order_table表,当order_table表有了insert操作之后-- 触发begin和end中间的sql语句,begin和end之间的sql语句可以有多条sql语句,多条sql语句用;间隔-- new.much 和new.gid中的new是关键字,当监听的表中有insert操作时,new就代指的那些被操作的数据-- 的集合。new.much就表示新插入监听表中数据的much字段值拿到,new.gid就表示将新插入监听表中数据的gid字段值拿到-- 如此触发器中的sql语句便可动态的识别到插入监听表中的数据的值create TRIGGER tg1 AFTER INSERT on order_tablefor EACH row -- 固定写法BEGIN    update goods set num = num - new.much where id = new.gid;END-- 删除触发器DROP TRIGGER tg1;

(4)模拟退货订单表中的订单数量与商品表的变化

-- 创建一个触发器tg2,监听的表是order_table,监听的事件时update修改操作,在修改操作之后触发触发器的语句-- 监听到update修改order_table订单表时,则会触发将商品表中的商品数量num设置为商品数量+老的订单数 - 修改order_table时的值,修改的是那条老的订单记录create TRIGGER tg2 after update on order_tablefor each ROWBEGIN    update good set num = num + old.much - new.much where id = old.gid;END

(5)模拟删除订单后的商品表的变化

-- 模拟订单删除后商品表的变量。-- 创建一个触发器,监听order_table订单表的删除事件,当删除之后触发触发器中的sql语句create TRIGGER tg3 after DELETE on order_tablefor EACH ROWBEGIN    update good set num = num + old.much from where id = new.gid; -- 修改商品表中的num商品数据量字段的值等于剩余的num值+订单中之前的值,修改的是删除订单记录的那条记录中的商品的id对应的商品表中的商品END

(6)查看触发器

-- 查看触发器show TRIGGERS;

 

转载于:https://www.cnblogs.com/whylinux/p/9919242.html

你可能感兴趣的文章
我的友情链接
查看>>
我的友情链接
查看>>
2018-08-16期 HBase全分布模式集群及HMaster HA安装部署
查看>>
docker中的容器互联-linking系统
查看>>
Linux学习之CentOS(二十一)--Linux系统启动详解
查看>>
escape()、encodeURI()、encodeURIComponent()区别详解
查看>>
AgileEAS.NET5.0-界面设计器-使用说明书(上)
查看>>
g80 architecture overview
查看>>
gradle替代maven
查看>>
Linux命令之diff
查看>>
linux 实时调度策略 修改及测试
查看>>
不登录远程查看ssh版本
查看>>
Linux操作系统安全必要保护措施实例
查看>>
GraalVM
查看>>
zcat配合tar解压压缩包中的单独
查看>>
只为完美强大的Linux——视频通讯功能(附完整代码)
查看>>
80个Python经典资料(教程+源码+工具)汇总——下载目录 ...
查看>>
nginx安装
查看>>
Solaris 10安装vim
查看>>
Linux系统有7个运行级别(runlevel)
查看>>