




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块12创建与管理触发器,济宁职业技术学院数据库课程组,大型数据库,2,2,学习目标,【知识目标】理解触发器的作用。应能熟练创建、修改、删除触发器。掌握触发器的禁用和启用方法。【技能目标】能根据需要创建、修改、删除触发器。会根据需要禁用、启用触发器。,3,任务陈述,在学生选课数据库Xk中,每当学生报名、取消选修课程时,都需要更新课程表中相应课程的报名人数。现在需要编写程序,当学生报名或取消选修课程时,程序会自动更新课程表的报名人数信息。在学生选课数据库Xk中创建触发器,并根据需要修改、删除触发器,4,4,引例,思考:当学生报名选修SQLServer实用技术课程时,WillNum应自动加1,如何处理?,5,5,触发器及其作用,触发器:一种特殊的存储过程,该存储过程在指定的表中数据发生变化时被自动调用以响应INSERT、UPDATE或DELETE事件。作用:强制执行业务规则触发器的两个表及作用:inserted、deleted表为什么没有updated表?触发器类型:后触发、替代触发。,6,6,INSERTED表和DELETED表,系统为每个触发器都自动创建了INSERTED表和DELETED表INSERTED表用于存放插入操作时的行;DELETED表用于存放删除操作时的行这两个表的结构和被触发器作用的表的结构相同用户不能对这两个表进行修改,但可以读取,7,7,创建简单的触发器,创建触发器:CREATETRIGGERtrigger_nameOntableWITHENCRYPTIONFOR|AFTER|INSTEADOFINSERTUPDATEDELETEASsql_statement查看触发器信息,8,创建触发器,【问题121】创建后触发触发器Update_Student_Trigger。实现每当修改Student表的数据时,在客户端显示“已修改Student表的数据。”的消息。创建(略)写出语句进行测试,是否自动触发了触发器。,9,9,FOR/AFTER/INSTEADOF的区别,【问题】将题中的FORUPDATE改为INSTEADOF或者AFTER,观察执行结果有何不同。小结:使用FOR/AFTER时,执行触发SQL语句(INSERT/UPDATE/DELETE):在触发SQL语句成功执行后,再激活并执行触发器。使用INSTEADOF时:执行触发器而不执行触发SQL语句。,10,修改触发器,当修改的数据在Student表中不存在时,也显示修改的信息,这是程序的BUG。【问题122】修改触发器Update_Student_Trigger。在确实修改了Student表中的数据后显示“已修改Student表的数据。”,否则显示“不存在要修改的数据。”。使用ALTERTRIGGER语句修改触发器。,11,创建、修改触发器,【问题124】创建替代触发器UPDATE_Department_Trigger。修改Department表的数据时触发了触发器,用执行触发器中的语句替代触发的SQL语句。【问题125】创建一个触发器。实现当插入、更新或删除StuCou表的选课数据行时,能同时更新Course表中相应的报名人数。【问题126】使用IFUPDATE(column)。修改UPDATE_Department_Trigger触发器,每当修改Department表DepartName列的数据时,在客户端显示“已修改系部名称。”,12,12,IFUPDATE的应用,特点:只有当IFUPDATE指明的列发生修改/插入时,才触发执行触发器。IFUPDATE不响应DELETE操作。SQLServer允许为每个事件(DELETE、INSERT、UPDATE)创建多个触发器。【问题127】在一个表上创建多个触发器。为Department表再创建一个UPDATE触发器Test_Trigger,每当修改Department表的数据时,在客户端显示“二次触发!”。,13,13,重命名、删除触发器,重命名触发器SQL格式:sp_renameoldname,newname删除触发器SQL格式:DROPTRIGGERtrigger_name说明:删除触发器所在的表时,SQLServer将会自动删除与该表相关的触发器,14,14,管理触发器,禁用触发器234页ALTERTABLEtable_nameDISABLETRIGGERtrigger_name启用触发器233页ALTERTABLEtable_nameENABLETRIGGERtrigger_name显看数据库的触发器:查询sysobjects系统表,234页【问题12.13】,15,15,练一练,创建一个触发器,要求每当用户向Student表插入记录时,自动显示Student表中插入的记录创建一个触发器,要求每当用户向StuCou表插入记录时,自动显示插入记录中的课程编号,16,16,练一练,为Class表创建一个触发器,当删除Class表中的数据时(班级撤销),将Student表中相关学生的班级编码设置为“待定”。设计一个触发器,当Class表的班级编码发生变化时,能自动地更新Student表中相应的记录级联修改。,17,17,使用注意事项总结,CREATETRIGGER要在单个批处理中执行ONtable中的表格只能是一个在同一条CREATETRIGGER语句中,可以为多个事件(INSERT/DELETE/UPDATE)定义相同的触发器操作可以为每个事件(INSERT/DELETE/UPD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二、泥石流脱险我知道说课稿-2023-2024学年小学综合实践活动六年级上册沪科黔科版
- 人教版化学九年级上册3.2原子的结构 说课稿
- 农发行芜湖市繁昌区2025秋招小语种岗笔试题及答案
- 罐车司机考试题及答案
- 公司干部考试题目及答案
- 肝功能考试题及答案
- 辅助类电工考试题及答案
- 大数据与人工智能在财务预警中的应用
- 防护员比武考试题及答案
- 2025自动化设备买卖合同
- 2024抖音护肤行业白皮书
- 商铺转租赁合同范本
- 《足球裁判员培训》课件
- 浴室工程施工组织设计方案
- 2024年秋九年级化学上册 第3单元 物质构成的奥秘 课题3 元素 第1课时 物质是由元素组成的说课稿 (新版)新人教版
- 微商基础培训课件
- ISO9001:2024版质量手册资料
- 2023-2024年社会工作者之初级社会综合能力考试题库
- 2025年慢性阻塞性肺疾病全球创议GOLD指南修订解读课件
- 民族宗教团日活动
- 新娘化妆相关知识考核试题及答案
评论
0/150
提交评论