SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt

SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt

ID:50328566

大小:180.50 KB

页数:31页

时间:2020-03-08

SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt_第1页
SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt_第2页
SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt_第3页
SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt_第4页
SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt_第5页
资源描述:

《SQL Server 2005数据库应用技术 教学课件 作者 王亚楠第11章 触发器.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章触发器教学课件2010年6月1课件制作人:王亚楠目录本章目标理解:触发器的概念、触发器与存储过程及触发器与约束的关系理解:DML触发器的特点、作用及类型掌握:CREATETRIGGER语句DML触发器的方法了解:DDL触发器的特点和作用本章内容11.1触发器概述11.2DML触发器11.3DDL触发器2010年6月2课件制作人:王亚楠11.1触发器概述学生表:增加一条新记录时,班级表:相应班级的cl_stnum值自动增1,如何实现?2010年6月3课件制作人:王亚楠11.1触发器概述(续)触发器(Trigge

2、r):是由T-SQL语句集构成的,能够自动响应数据库事件而执行的数据库对象。触发器是一种特殊的存储过程,区别:存储过程由EXECUTE命令直接调用执行;触发器通过数据库事件触发执行。存储过程主要用于实现复杂的编程逻辑;触发器主要用于扩展数据的完整性。触发器类型:DML触发器、DDL触发器2010年6月4课件制作人:王亚楠11.2DML触发器11.2.1DML触发器概述11.2.2创建DML触发器11.2.3管理DML触发器2010年6月5课件制作人:王亚楠11.2.1DML触发器概述DML触发器(Trigger)是一

3、种特殊的存储过程对指定表进行数据插入(Insert)、更新(Update)、删除(Delete)时,自动触发执行T-SQL语句集,以保证相关数据的正确性2010年6月6课件制作人:王亚楠DML触发器类型第1种分类方式:触发事件(3种):INSERT、UPDATE、DELETE触发器类型:3种INSERT触发器UPDAT触发器DELETE触发器第2种分类方式:AFTER触发器INSTEADOF触发器2010年6月7课件制作人:王亚楠INSERT触发器工作原理:关键:inserted表学号姓名性别班号……20090101

4、09陈义男01触发表student学号姓名性别班号2009010109陈义男01临时表insertedINSERT2010年6月8课件制作人:王亚楠DELETE触发器工作原理:关键:deleted表学号姓名性别班号……2009010109陈义男01触发表student学号姓名性别班号2009010109陈义男01临时表deletedDELETE2010年6月9课件制作人:王亚楠UPDATE触发器工作原理:关键:inserted表和deleted表学号姓名性别班号……2009010109陈义男01触发表student学

5、号姓名性别班号2009010109陈义男01临时表deleted2009010109陈义男02学号姓名性别班号2009010109陈义男02临时表insertedDELETEINSERT2010年6月10课件制作人:王亚楠说明:inserted表、deleted表系统自动创建,用户只能读取,不能修改;表结构:与触发表相同;表数据:inserted表:存放触发表INSERT、UPDATE操作的相关行(1行或多行)deleted表:存放触发表DELETE、UPDATE操作的相关行(1行或多行)2010年6月11课件制作人

6、:王亚楠DML触发器作用强制业务规则:跟踪数据库变化级联更新数据库:(FOREIGNKEY)表student表score实施数据完整性(CHECK)实施特殊业务规则2010年6月12课件制作人:王亚楠11.2.2创建DML触发器CREATETRIGGERtrigger_nameON{table

7、view}[WITHENCRYPTION]{FOR

8、AFTER

9、INSTEADOF}{[INSERT][,][UPDATE][,][DELETE]}AS[IFUPDATE(column)sql_statement触发表触发事

10、件触发模式触发操作2010年6月13课件制作人:王亚楠实例1:学生表:增加一条新记录时;班级表:相应班级的cl_stnum值 自动增1——跟踪数据库变化触发表:触发事件:触发模式:触发操作:studentinsertafter从inserted表获取新增记录的班号在班级表中执行UPDATE:cl_stnum值增12010年6月14课件制作人:王亚楠CREATETRIGGERtr_st_single_insertONstudentAFTERINSERTASDECLARE@clidchar(2)SELECT@clid=s

11、t_clidFROMinsertedUPDATEclassSETcl_stnum=cl_stnum+1WHEREcl_id=@clidGOStep1:创建触发器2010年6月15课件制作人:王亚楠Step2:执行触发器显示’01’班的信息添加一个‘01’班学生记录再次:显示’01’班的信息SELECT*FROMclassWHEREcl_id='

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

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

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