触发器可以监视某种数据操作(insert/update/delete) 并触发(insert/update/delete)( 创建触发器4要素 监视地点 -----监视事件----触发时间----触发事件 触发器:trigger: 需求: 我们有商品表goods,订单表 ord,当下一个订单时,对应的商品要减少 分析: 监视谁:ord表 监视动作:insert 触发事件:after 触发事件:goods表中库存减少事件,update create trigger  t1 after insert on ord for each row begin update goods xxxxx end; create table goods(     gid int,     name varchar(20),     num smallint ); create table ord(     oid int,     gid int,     much smallint ); insert into goods values (1,'cat',34), (2,'dog',65), (3,'pig',21); delimiter $ create trigger  t1 after insert on ord for each row begin update goods set num=num-2 where gid=1; end$ 查看触发器: show triggers \G 删除已有的triggers drop trigger t1 insert(被监测的语句)产生的数据,能否在触发器中被引用 create trigger  t2 after insert on ord for each row begin update goods set num=num-new.much where gid=new.gid; end$ ERROR 1235 (42000): This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' #在mysql编程中的for each row 是干什么的? 在oracle 触发器中,触发器分为语句级的触发器和行级触发器 比如 create trigger tn after update on xxtable for each row  #每一行受影响,触发器都指行,叫做行级触发器 begin     sqlN end$ 指行:update xxxtable se xxx=xxx where id>100;  影响100条 那么sqlN会被触发几次?100次 在oracle 中 for each 如果不写, 无论update语句一次影响了多少行,都只执行1次 mysql不支持语句级触发器。必须写上。 查看已有的triggers:show triggers 删除已有的triggers: drop trigger triggerName 撤回一个订单时: create trigger t3 after delete on ord for each row begin     update goods set num=num+old.much where gid=old.gid; end$ #改订单数量 create trigger t4 before update on ord for each row begin     update goods set num=num+old.much-new.much where gid=old.gid; end$ 思考:before 和after的区别 如果发生爆仓情况,如何处理呢? #在t2的基础上,完成much 与num的判断 create trigger  t5 before insert on ord for each row begin declare rnum int; select num into rnum from goods where gid=new.gid; if new.much>rnum then     set new.much=rnum; end if; update goods set num=num-new.much where gid=new.gid; end$

mysql触发器实验小结_mysql 触发器小结相关推荐

  1. mysql 查询优化实验报告_Mysql查询优化小结

    数据类型 简单原则:更小更好,简单就好,避免NULL 1)整型如int(10)括号中的值与存储大小无关 2)实数decimal比float与double占用更大存储空间且CPU不能直接对decimal ...

  2. mysql安全性实验心得_mysql安全小结

    sql的注入是一个很困扰人的问题,一些恶意攻击者可以利用sql注入来获取甚至是修改数据库中的信息,尤其是一些比较敏感的密码一类的数据. sql注入主要利用mysql 的注释将后续应正常执行的语句注释掉 ...

  3. mysql触发器如果提示_mysql 触发器

    1   引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...

  4. mysql创建删除触发器的时候_mysql触发器简介及如何创建和删除触发器

    什么是mysql触发器 需要MySQL 5 对触发器的支持是在MySQL 5中增加的.因此,本章内容适用于MySQL 5或之后的版本. MySQL语句在需要时被执行,存储过程也是如此.但是,如果你想要 ...

  5. mysql触发器新元组_MySQL触发器-条件触发器语法

    文章为作者原创,未经许可,禁止转载.    -Sun Yat-sen University 冯兴伟 实验4触发器 (1)实验目的 掌握数据库触发器的设计和使用方法 (2)实验内容和要求 定义BEFOR ...

  6. mysql库表的触发器表名_MySQL 触发器,实现不同数据库,不同表名,表结构不同,数据实时同步...

    创建触发器: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt ...

  7. mysql触发器应用场景_MySQL触发器的使用场景及方法实例

    触发器: 触发器的使用场景以及相应版本: 触发器可以使用的MySQL版本: 版本:MySQL5以上 使用场景例子: 每当增加一个顾客到某个数据库表时,都检查其电话号码格式是否正确,州的缩写是否为大写 ...

  8. mysql触发器访问网站_MySQL触发器使用-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....

    触发器:触发器的使用场景以及相应版本:触发器可以使用的MySQL版本:- 版本:MySQL5以上### 使用场景例子:1. 每当增加一个顾客到某个数据库表时,都检查其每当增加一个顾客到某个数据库表时, ...

  9. mysql触发器错误信息_MySQL 触发器错误_MySQL

    bitsCN.com 使用Spring jdbctemplate时出错: view sourceprint?01 org.springframework.jdbc.UncategorizedSQLEx ...

最新文章

  1. R可视化删除ggplot2图中的网格线(Gridlines)
  2. mysql一张表两个索引字段是建两颗独立索引树吗?
  3. c语言深度解剖 pdf,c语言深度解剖(解密).pdf.pdf
  4. php设置session 生命周期,php会话(session)生命周期概念介绍及设置更改和回收
  5. 风控做得好,离不开这一项核心能力
  6. Centos之LAMP环境搭建
  7. Keil MDK利用 fromelf 实现axf 转 bin 的方法
  8. Nagios下载安装配置
  9. 外星人r7启动linux,外星人Alienware Aurora R7台式机装win7及bios设置教程(支持usb)
  10. 安卓开发用什么语言好!这是一份用心整理的Android面试总结,已拿offer入职
  11. coreldraw x8重新安装失败解决办法
  12. PM Q7声卡使用教程
  13. wia twain for java,c – 使用WIA或TWAIN扫描页面
  14. office 2016下载安装
  15. 面试技巧--国企银行篇
  16. R语言—方差分析和多重比较
  17. VTK从分割好的体数据获取等值面的方法(MarchingCube)
  18. WIN32 进程间通讯-共享内存
  19. Android 监听系统来电获取来电信息
  20. 澳洲纽卡斯尓大学计算机排名,澳洲纽卡斯尔大学计算机科学computer science专业排名第251~300名(2020THE泰晤士高等教育世界大学排名)...

热门文章

  1. UNION 和 UNION ALL的区别
  2. ajax put 请求
  3. C++STL的发展历程
  4. English语法_连词-概述
  5. 学习是为了完善人生,不是为了享受人生!
  6. xmms乱码解决方法
  7. 《庄子·杂篇·寓言第二十七》
  8. 深夜食堂|有些泡面说不出哪里好,但就是谁都代替不了
  9. iPhone手机录音小技能:教你如何设置轻点两下背部录音
  10. Html5读取rfid,RFID Agent Game : Utvecklingen av ett HTML5-spel