SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt

SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt

ID:51618363

大小:628.00 KB

页数:19页

时间:2020-03-26

SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt_第1页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt_第2页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt_第3页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt_第4页
SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt_第5页
资源描述:

《SQLServer2008数据库及应用 教学课件 ppt 作者 第4版 徐人凤电子课件 单元12 创建与管理触发器.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、模块12创建与管理触发器深圳职业技术学院大型数据库课程组大型数据库12学习目标【知识目标】理解触发器的作用。应能熟练创建、修改、删除触发器。掌握触发器的禁用和启用方法。【技能目标】能根据需要创建、修改、删除触发器。会根据需要禁用、启用触发器。任务陈述在学生选课数据库Xk中,每当学生报名、取消选修课程时,都需要更新课程表中相应课程的报名人数。现在需要编写程序,当学生报名或取消选修课程时,程序会自动更新课程表的报名人数信息。在学生选课数据库Xk中创建触发器,并根据需要修改、删除触发器34引例思考:当学生报名选修SQLServer实用技术课程时,WillNum应自动加1,如何

2、处理?5触发器及其作用触发器:一种特殊的存储过程,该存储过程在指定的表中数据发生变化时被自动调用以响应INSERT、UPDATE或DELETE事件。作用:强制执行业务规则触发器的两个表及作用:inserted、deleted表为什么没有updated表??触发器类型:后触发、替代触发。6INSERTED表和DELETED表系统为每个触发器都自动创建了INSERTED表和DELETED表INSERTED表用于存放插入操作时的行;DELETED表用于存放删除操作时的行这两个表的结构和被触发器作用的表的结构相同用户不能对这两个表进行修改,但可以读取7创建简单的触发器创建触发器

3、:CREATETRIGGERtrigger_nameOntable[WITHENCRYPTION]{FOR

4、AFTER

5、INSTEADOF}{[INSERT][UPDATE][DELETE]}ASsql_statement查看触发器信息创建触发器【问题12.1】创建后触发触发器Update_Student_Trigger。实现每当修改Student表的数据时,在客户端显示“已修改Student表的数据。”的消息。创建(略)写出语句进行测试,是否自动触发了触发器。89FOR/AFTER/INSTEADOF的区别【问题】将题中的FORUPDATE改为INSTEADOF或者A

6、FTER,观察执行结果有何不同。小结:使用FOR/AFTER时,执行触发SQL语句(INSERT/UPDATE/DELETE):在触发SQL语句成功执行后,再激活并执行触发器。使用INSTEADOF时:执行触发器而不执行触发SQL语句。修改触发器当修改的数据在Student表中不存在时,也显示修改的信息,这是程序的BUG。【问题12.2】修改触发器Update_Student_Trigger。在确实修改了Student表中的数据后显示“已修改Student表的数据。”,否则显示“不存在要修改的数据。”。使用ALTERTRIGGER语句修改触发器。10创建、修改触发器【问

7、题12.4】创建替代触发器UPDATE_Department_Trigger。修改Department表的数据时触发了触发器,用执行触发器中的语句替代触发的SQL语句。【问题12.5】创建一个触发器。实现当插入、更新或删除StuCou表的选课数据行时,能同时更新Course表中相应的报名人数。【问题12.6】使用IFUPDATE(column)。修改UPDATE_Department_Trigger触发器,每当修改Department表DepartName列的数据时,在客户端显示“已修改系部名称。”1112IFUPDATE的应用特点:只有当IFUPDATE指明的列发生修

8、改/插入时,才触发执行触发器。IFUPDATE不响应DELETE操作。SQLServer允许为每个事件(DELETE、INSERT、UPDATE)创建多个触发器。【问题12.7】在一个表上创建多个触发器。为Department表再创建一个UPDATE触发器Test_Trigger,每当修改Department表的数据时,在客户端显示“二次触发!”。13重命名、删除触发器重命名触发器SQL格式:sp_renameoldname,newname删除触发器SQL格式:DROPTRIGGERtrigger_name说明:删除触发器所在的表时,SQLServer将会自动删除与该表

9、相关的触发器14管理触发器禁用触发器234页ALTERTABLEtable_nameDISABLETRIGGERtrigger_name启用触发器233页ALTERTABLEtable_nameENABLETRIGGERtrigger_name显看数据库的触发器:查询sysobjects系统表,234页【问题12.13】15练一练创建一个触发器,要求每当用户向Student表插入记录时,自动显示Student表中插入的记录创建一个触发器,要求每当用户向StuCou表插入记录时,自动显示插入记录中的课程编号16练一练为Class表创建一个触

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。