第9讲触发器.ppt

上传人:京东小超市 文档编号:6058810 上传时间:2020-09-02 格式:PPT 页数:16 大小:283KB
返回 下载 相关 举报
第9讲触发器.ppt_第1页
第1页 / 共16页
第9讲触发器.ppt_第2页
第2页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第9讲触发器.ppt》由会员分享,可在线阅读,更多相关《第9讲触发器.ppt(16页珍藏版)》请在三一文库上搜索。

1、第9讲 触发器,表投孤困悦变闯虏掌轮偿舒沙咀核覆叁蘸呻柜耗分骚锗彦晨丁除丁趣邦型第9讲触发器第9讲触发器,引例,思考:当学生报名选修SQLServer实用技术课程时,WillNum应自动加1,如何处理?,恶船罕漂囤尖舀凑灌陀爵佰扎篡反疑倾篱诸肋恩吨似穿婴峡澈椿盐附铲柱第9讲触发器第9讲触发器,触发器的作用,在指定的表中数据发生变化时被调用以响应INSERT、UPDATE或DELETE事件 强制执行业务规则,汪疮柿巧害舅趟障癣彤烙浇拳瘴痊嵌址徐畸涝谅玻赞婆配楼割牡祈乓阔协第9讲触发器第9讲触发器,创建简单的触发器,【问题】创建一个触发器Test1,要求每当在Student表中修改数据时,向客户端

2、显示一条“记录已修改!”的消息 SQL格式: CREATE TRIGGER trigger_name On table WITH ENCRYPTION FOR|AFTER| INSTEAD OF INSERT UPDATE DELETE AS sql_statement 在企业管理器中查看触发器信息,颅猛森阁遣苔陆历圃阵试杯藤固栗悼霹崎订吻呢垄此胃镭竹幅明疵危予骡第9讲触发器第9讲触发器,FOR/AFTER/INSTEAD OF的比较,【问题】将上例中触发器中的FOR UPDATE改为INSTEAD OF UPDATE,查看执行结果有何不同。 总结: 使用FOR/AFTER时,执行触发SQL语

3、句(INSERT/UPDATE/DELETE):在触发SQL语句成功执行后,再执行触发器 使用INSTEAD OF时:执行触发器而不执行触发SQL语句,材叛蛙贤幸喀尝昂隐岔蘸敦螺熟戒逆佃昼苑拈邢草迫雪疚肤梯侮根博座胆第9讲触发器第9讲触发器,练习1,创建一个触发器,要求每当在StuCou表中插入数据时,向客户端显示一条“记录已添加!”的消息。 创建一个触发器,要求每当用户插入student表的记录时,自动显示表中所有内容,玫撤药瓶怕听冠亦软帛蹬酣梁剑诞倦蠢涨箍杨满页圃谍青祸患冤帧腺斡菲第9讲触发器第9讲触发器,INSERTED表和DELETED表,系统为每个触发器都自动创建了INSERTED表

4、和DELETED表 INSERTED表用于存放插入操作时的行;DELETED表用于存放删除操作时的行 这两个表的结构和被触发器作用的表的结构相同 用户不能对这两个表进行修改,但可以读取,败绽补桔没笆感哎兄榴跑蔽装琵度响君渗孟暴嫡郎删沏寓磺呕拍撬紧吐璃第9讲触发器第9讲触发器,练习2,创建一个触发器,要求每当用户插入student表的记录后,自动显示Student表中插入的记录,镑音适粱指坛摩孽绰镣沂念礼露欧谗瓮忿使籍哈眨卿契聂闷炽耪昆蚂状五第9讲触发器第9讲触发器,创建触发器,【问题】创建一个触发器SetWillNum,要求当插入、更新、删除StuCou表的选课记录时,能更新Course表中相

5、应的报名人数。 说明:该触发器只适用于每次新增、删除一条记录的情况。,烽隶荫跪奔贵耐光徽洼梧薛哲观闲盯勾秧灰陛授眷罗铲虚氖锚盅彰捶荣骋第9讲触发器第9讲触发器,创建批量数据触发器,思考:若有批量的数据新增、插入或删除,应该如何修改上例中的触发器? 处理多条记录的触发器简单、易维护,但每次都更新Course中每条记录的报名人数,效率不高,档杉缮黎浓桩迹羌羌孝奏怒估银离唉蓬史拌寄捐郧搭拂雾士夕湃诵布仆芥第9讲触发器第9讲触发器,IF UPDATE的应用,【问题】创建一个触发器Test1,要求每当student表中修改pwd列的数据时,向客户端显示一条消息“密码已更改”的消息。 特点:只有当IF U

6、PDATE指明的列发生修改时,才触发执行触发器。,缠任玖活浊识鞋叭爹囤碘何环蒲蹋恤腊境搞迫棚搅谰戎幂第煎嚷尸脯祥代第9讲触发器第9讲触发器,级联更新和删除: 【练习】创建触发器,当修改student表中的学号字段后,自动修改stucou表中相应的学号。(以前采用外键方式) 【练习】在student表上创建触发器del_trg,当删除表中某一个学生的记录时,能自动删除掉该学生的所有成绩记录,棍疮障葡砸溢敬当茶岳肚更琴剩呸虽蹬诺蒋琉陵奎梅握薯捅躺酗水评性止第9讲触发器第9讲触发器,重命名、删除触发器,重命名触发器SQL格式: sp_rename oldname, newname 删除触发器SQL格

7、式: DROP TRIGGER trigger_name 说明:删除触发器所在的表时,SQL Server将会自动删除与该表相关的触发器,乳休晤干垮臣诀雏牲唉哟漆掐农氖辱唐蛙柠羞龄关示板狈妙挺睬斧抽猾争第9讲触发器第9讲触发器,管理触发器,禁用触发器 ALTER TABLE table_name DISABLE TRIGGER trigger_name 恢复使用触发器 ALTER TABLE table_name ENABLE TRIGGER trigger_name 显示数据库中有哪些触发器 请参考联机丛书“sysobjects系统表”,淳弃匪逻堵劝贮倍组惫侦斑季疗窑靠匣美庭咆巷逝瘤练绸贤策

8、敖祸审唉檄第9讲触发器第9讲触发器,使用注意事项总结,CREATE TRIGGER要在单个批处理中执行 ON table中的表格只能是一个 在同一条CREATE TRIGGER语句中,可以为多个事件( INSERT/DELETE/UPDATE定义相同的触发器操作) 可以为每个事件(INSERT/DELETE/UPDATE)创建多个触发器,旨酷勉鸣凰毛弟盖页饥瑚韩徊憋擂棋毖怜喷蚊撅汾肤哆说邦烷婴昂澜兽袍第9讲触发器第9讲触发器,本章小结,理解:触发器的作用 创建、管理触发器的方法(重点) 如何设计触发器以简化系统设计(进一步的要求),隅曹抚荧龙扇娃掌澳党社赘膳倒舅啼贾蜕幸论紧筷堤济健患睦赚坞组折牺第9讲触发器第9讲触发器,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1