付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、企业实战DBA课程触发器触发器的作用自动完成数据库操作触发器?触发器是自动化的SQL程序,由时间来触发。、更新和删除当面对复杂的业务关系,在程序上难以实现时。当程序上实现较为复杂,希望在数据库内实现时。例子1员工 1、us 2、sa表每增加一行则: er_total=old.user_total lary_total+new.salary+1user_totalsalary_total740000idnamesalary1Joe40002Ken50003Norman70004Tobb35005July60006Zen55007Bob9000触发器的语法CREATE TRIGGER BEFORE
2、 | AFTER INSERT | UPDATE | DELETE ON FOR EACH ROW创建简单触发器BEFORE、AFTER和OLD、NEW一个简单的例子1CREATE TRIGGER t1_aiAFTER INSERT ON t8 FOR EACH ROW UPDATE t2 SETuser_total=user_total+1, salary_total=salary_total+NEW.salary;一个简单的例子2CREATE TRIGGER t1_adAFTER DELETE ON t8 FOR EACH ROW UPDATE t2 SETuser_total=user_
3、total-1, salary_total=salary_total-OLD.salary;一个简单的例子3CREATE TRIGGER t1_auAFTER UPDATE ON t8 FOR EACH ROW UPDATE t2 SETsalary_total=salary_total-OLD.salary+NEW.salary;创建多执行语句触发器GEGIN和END。例子1员工 1、gi 2、gi表每增加一行则: d=0则user_total+1 d1则vip_total+1user_totalvip_total43idnamegid1Joe02Ken13Norman04Tobb05Jul
4、y16Zen17Bob0使用IF语句的触发器1DELIMITER /CREATE TRIGGER t3_ai AFTER INSERT ON t3 FOR EACH ROWIF NEW.gid = 0 THENUPDATE t4 SET user_total=user_total+1; ELSE UPDATE t4 SET vip_total=vip_total+1; END IF;/使用IF语句的触发器2DELIMITER /CREATE TRIGGER t3_ad AFTER DELETE ON t3 FOR EACH ROWIF OLD.gid = 0 THENUPDATE t4 SET
5、 user_total=user_total-1; ELSE UPDATE t4 SET vip_total=vip_total-1; END IF;/使用IF语句的触发器3DELIMITER /CREATE TRIGGER t3_au AFTER UPDATE ON t3 FOR EACH ROWIF NEW.gid!=OLD.gid and NEW.gid=0 THENUPDATE t4 SET user_total=user_totoal+1,vip_total=vip_total-1;ELSEIF NEW.gid!=OLD.gid and NEW.gid=1 THENUPDATE t4
6、 SET user_totoal=user_total-1,vip_total=vip_total+1;END IF;/使用CASE语句的触发器1DELIMITER /CREATE TRIGGER t3_au AFTER UPDATE ON t3 FOR EACH ROWCASEWHEN NEW.gid!=OLD.gid AND NEW.gid=0 THENUPDATE t4 SET user_total=user_total+1,vip_total=vip_total-1; WHEN NEW.gid!=OLD.gid AND NEW.gid=1 THENUPDATE t4 SET user_
7、total=user_total-1,vip_total=vip_total+1;END CASE;/例子1event_datewinners_nu m2014-1-13活动 1、随2、将3、循表每增加一行则:机挑选一名用户信息 用户信息获奖者表环指定次数idnamegidevent_date3Norman02014-1-1idnamegid1Joe02Ken13Norman04Tobb05July16Zen17Bob0使用LOOP语句的触发器1CREATE TRIGGER t5_aiAFTER INSERT ON t5 FOR EACH ROW BEGINDECLARE mnumDEFAUL
8、T 0;DECLARE wnum; DECLARE tdate DATE;SET tdate=NEW.event_date;SET wnum=NEW.wnnum;使用LOOP语句的触发器2t5_loop:LOOPSET mnum=mnum+1;INSERTO t6 SELECT id,name,gid,tdate FROM t3 ORDER BY rand() limit 1;IF mnum=wnum THEN LEAVE t5_loop; END IF;END LOOP t5_loop;END;/使用LOOP语句的触发器3SET wnum=NEW.wnnum;CREATE TRIGGER t
9、5_aiAFTER INSERT ON t5 FOR EACH ROW BEGINDECLARE mnumDEFAULT 0;DECLARE wnum ; DECLARE tnum ; DECLARE tdate DATE;SELECT count(*)o tnum from t3; SET tdate=NEW.event_date;使用LOOP语句的触发器4/t5_loop:LOOPSET mnum=mnum+1;SET rnum=floor(1+rand()*tnum);INSERTO t6 SELECT id,name,gid,tdateFROM t3 WHERE id=rnum;IF
10、mnum=wnum THEN LEAVE t5_loop; END IF;END LOOP t5_loop; END;使用REPEAT语句的触发器1REPEATSET mnum=mnum+1;SET rnum=floor(1+rand()*tnum);INSERTO t6 SELECT id,name,gid,tdateFROM t3 WHERE id=rnum; UNTIL mnum=wnum END REPEAT;END;/使用WHILE语句的触发器1WHILE mnumwnumSET mnum=mnum+1;SET rnum=floor(1+rand()*tnum);INSERTO t6 SELECT id,name,gid,tdateFROM t3 WHERE id=rnum;END WHILE;END;/查看触发器SELE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阳台加长加宽施工方案(3篇)
- 食堂银行活动方案策划(3篇)
- 26年基础护理服务素养工程课件
- 技能培训安全管理策略
- 光缆护套工保密强化考核试卷含答案
- 新教材人教版九年级物理习题课件第十五章 电流和电路
- 铸管备品工班组考核知识考核试卷含答案
- 汽车热处理生产线操作工风险评估与管理考核试卷含答案
- 浮法玻璃成型工操作水平能力考核试卷含答案
- 水生动物苗种繁育工安全防护强化考核试卷含答案
- 工业地转让协议书
- 2026年河北机关事业单位工人技能等级考试(公共基础知识)仿真试题及答案
- 2026年部编版语文六年级下册期末测试题(共5套有答案)
- 2026年国有企业领导人员廉洁从业若干规定知识试题
- 2026届江苏省兴化市戴泽初中重点名校十校联考最后历史试题含解析
- 反复尿路感染指南总结2026
- 2026山东济南城市投资集团有限公司社会招聘47人农业笔试备考试题及答案解析
- 2026成都市属事业单位考试真题答案
- 室内质量控制与室间质量评价管理制度与操作规程
- 2025年江苏淮安涟水县卫生健康委员会所属事业单位公开招聘工作人员42名笔试历年典型考题及考点剖析附带答案详解试卷2套
- 国铁集团招聘考试试题
评论
0/150
提交评论