SQL Server 2005数据库技术与应用 教学课件 ppt 作者 赵丽辉 ppt 第10章 触发器

上传人:E**** 文档编号:89180956 上传时间:2019-05-20 格式:PPT 页数:16 大小:337KB
返回 下载 相关 举报
SQL Server 2005数据库技术与应用  教学课件 ppt 作者 赵丽辉 ppt 第10章  触发器_第1页
第1页 / 共16页
SQL Server 2005数据库技术与应用  教学课件 ppt 作者 赵丽辉 ppt 第10章  触发器_第2页
第2页 / 共16页
SQL Server 2005数据库技术与应用  教学课件 ppt 作者 赵丽辉 ppt 第10章  触发器_第3页
第3页 / 共16页
SQL Server 2005数据库技术与应用  教学课件 ppt 作者 赵丽辉 ppt 第10章  触发器_第4页
第4页 / 共16页
SQL Server 2005数据库技术与应用  教学课件 ppt 作者 赵丽辉 ppt 第10章  触发器_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《SQL Server 2005数据库技术与应用 教学课件 ppt 作者 赵丽辉 ppt 第10章 触发器》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库技术与应用 教学课件 ppt 作者 赵丽辉 ppt 第10章 触发器(16页珍藏版)》请在金锄头文库上搜索。

1、第10章 触发器,【学习要点】,触发器的基本概念及作用 触发器的分类 创建和管理触发器 触发器的综合应用,10.1触发器基本概述,1、什么是触发器 触发器是一种特殊的存储过程,当用户对表或视图执行INSERT、UPDATE或DELETE操作时,相关的触发器被自动调用,检查表或视图在执行添加、修改或删除操作后,其数据是否符合业务规则和数据完整性。触发器及其激发它执行的操作语句,整体被作为单个事务(Transaction),而且在触发器中可以回滚该事务。,10.1触发器基本概述,2、触发器与约束 约束可以直接设置于数据表内,只能处理相对简单的操作,包括自动填入默认值(DEFAULT)、确保字段数据

2、不重复(PRIMARY KEY/UNIQUE KEY)、限制输入值在某一范围内(CHECK)、维护数据表间的完整性(FOREIGN KEY)等。 触发器是一种特殊的存储过程,当数据表发生INSERT、UPDATE或DELETE操作时会自动被触发,可以去执行相对复杂的操作。,10.1触发器基本概述,3、触发器的用途 触发器可以用于连锁更新或连锁删除数据库中相关联的表。但是,如果使用FOREIGN KEY约束来完成连锁更新与删除会比触发器更有效率。 数据被蓄意或是不小心地添加、修改或删除的情况下,使用触发器可以完全避免。 当数据所需符合的条件非常复杂,无法使用CHECK约束来完成时,就应使用触发器

3、。触发器可以替代CHECK约束,完成复杂的操作。 触发器可以去检验表在事务操作之前和之后的状态,以便提供相应的处理机制。,10.1触发器基本概述,4、触发器的类别 AFTER触发器:执行INSERT、UPDATE或DELETE操作之后执行AFTER触发器。若发现操作有误,可使用ROLLBACK TRANSACTION语句将此次操作所更改的数据全部回滚。 INSTEAD OF 触发器:INSTEAD OF是“取代”的意思,就是这类触发器会取代原本要进行的操作(例如新建或更改数据操作),因此会在数据变动之前就发生,而且数据要如何变动也完全取决于触发器。,10.2 使用SQL Server Mana

4、gement Studio管理触发器,10.2.1创建触发器,10.3使用Transact-SQL管理触发器,10.3.1 创建和修改触发器 创建触发器 语法格式如下: CREATE TRIGGER 触发器名 ON 表|视图 FOR |AFTER |INSTEAD OF DELETE | INSERT | UPDATE AS SQL 语句,10.3使用Transact-SQL管理触发器,参数说明: 触发器名:指触发器的名称,同其他数据库对象一样,触发器的名称在所属数据库中必须是唯一的。 ON表|视图:指定触发器所属的数据表或视图。但只有INSTEAD OF 触发器才能设置在视图上。 FOR |

5、AFTER |INSTEAD OF :指定触发器类型。FOR 与AFTER具有相同含意,建立AFTER触发器,只有在数据表的操作都已经完成后才激发此触发器。INSTEAD OF 触发器将取代原来要执行的数据操作。 DELETE | INSERT | UPDATE :指在表或视图上执行了哪一类的操作时会将触发器激活。至少必须指定一个,若指定多个,可用逗号分开。在同一数据表中,AFTER触发器指定的操作数目没有限制;INSTEAD OF 触发器,则限制INSERT、UPDATE、DELETE每项最多只能有一个。 SQL 语句:指定触发器的内容。因为触发器是自动被执行的,所以触发器不接收任何参数,也

6、不需返回数据。,10.3使用Transact-SQL管理触发器,10.3.1 创建和修改触发器 修改触发器 语法格式如下: ALTER TRIGGER 触发器名 ON 表|视图 FOR |AFTER |INSTEAD OF DELETE | INSERT | UPDATE AS SQL 语句,10.4设计触发器,10.4.1 设计触发器的注意事项 1、设计触发器的限制,10.4设计触发器,10.4.1 设计触发器的注意事项 2、在触发器中取得字段修改之前及之后的数据,10.4设计触发器,10.4.2 建立AFTER INSERT触发器 当INSERT触发器被激活,新建的数据同时放入insert

7、ed数据表和原数据表中,deleted数据表还未被使用。,10.4设计触发器,10.4.3 建立AFTER UPDATE触发器 当UPDATE触发器被激活时,更新的数据已存入原数据表及inserted数据表中,而更新前的旧数据则放在deleted数据表中。此时可以查看新、旧数据。,10.4设计触发器,10.4.4 建立AFTER DELETE触发器 当DELETE触发器被激活时,被删除的记录已由原数据表搬移到deleted数据表中,而inserted数据表则未使用。,本章小结,本章介绍触发器的相关知识,包括触发器的概述、触发器的种类以及创建和维护触发器。触发器是一种特殊的存储过程,基于表而建立,可视为表的一部分,在表中数据被修改时自动执动,利用触发器可以实现更为复杂的数据完整性约束,灵活地使用触发器可以为我们方便地实现业务逻辑。 在SQL Server 2005数据库中触发器分为DML触发器和DDL触发器两大类。其中DML触发器又分为AFTER触发器和INSTEAD OF触发器。当AFTER触发器被执行时,数据表已经完成更改动作了,但仍可用ROLLBACK TRANSACTION语句回滚到数据更改前的状态。INSTEAD OF触发器完全取代了原来的数据修改操作,由于原来的操作已被触发器取代,因此也不需要用ROLLBACK作回滚。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号