销售管理数据库中触发器的应用课稿.ppt
文本预览下载声明
SQL Server 2005数据库应用技术 清华大学出版社 SQL Server 2005数据库应用技术 清华大学出版社 第十章 销售管理数据库中触发器的应用 SQL Server 2005数据库应用技术 清华大学出版社 技能目标 理解触发器的概念、功能和类型; 学会根据实际开发销售管理数据库中的触发器,以完成系统整体设计的目的。 SQL Server 2005数据库应用技术 清华大学出版社 10.1.1 触发器 触发器实际上就是一种特殊类型的存储过程,它在执行一定操作时自动触发执行。在SQL Server 2005之前的版本中,触发器是针对数据表的特殊的存储过程,当这个表发生了Insert、Update或Delete操作时,如果该表有对应操作的触发器,这个触发器就会自动激活执行。在SQL Server 2005中,触发器有了更进一步的功能,在数据表(库)发生Create、Alter和Drop操作时,也会自动激活执行。 SQL Server 2005数据库应用技术 清华大学出版社 10.1.2 触发器的功能 完成更复杂的数据约束 检查所做的SQL所作的操作是否允许 修改其它数据表里的数据 调用更多的存储过程 返回自定义的错误信息 更改原本要操作的SQL语句 防止数据表结构被更改或数据表被删除 SQL Server 2005数据库应用技术 清华大学出版社 10.1.3触发器的类型 DML触发器 DML触发器是当数据库服务器中发生数据操作语言(Data Manipulation Language)事件时执行的存储过程 DDL触发器 DDL触发器是在响应数据定义语言(Data Definition Language)事件时执行的存储过程。 SQL Server 2005数据库应用技术 清华大学出版社 10.2 DML触发器 10.2.1 DML触发器的类型 根据触发的时机可以把DML触发器划分为: After触发器:这类触发器是在记录已经改变完之后(after),才会被激活执行,它主要是用于记录变更后的处理或检查,一旦发现错误,也可以用Rollback Transaction语句来回滚本次的操作。 Instead Of触发器:这类触发器一般是用来取代原本要进行的操作,在记录变更之前发生的,它并不去执行原来SQL语句里的操作(Insert、Update、Delete),而去执行触发器本身所定义的操作。 SQL Server 2005数据库应用技术 清华大学出版社 触发器的类型 根据引发触发器的操作不同分为INSERT触发器、UPDATE触发器和DELETE 触发器。 SQL Server 2005数据库应用技术 清华大学出版社 DML触发器 创建触发器的语法格式如下。 CREATE TRIGGER 触发器名 ON 表名或视图名 {FOR | AFTER | INSTEAD OF } {INSERT[,] | UPDAT E[,] | DELETE } [WITH ENCRYPTION ] AS [IF UPDATE (列名1) [{AND | OR } UPDATE(列名2)[…n] sql_statements SQL Server 2005数据库应用技术 清华大学出版社 10.2.2 DML触发器的工作原理 在SQL Server 2005 里,执行触发器时,系统会自动创建两个特殊的逻辑表,一个是Inserted表,一个是Deleted表。 Inserted表和deleted表,由系统来维护,用户不能对其修改,它们只存在内存而不是数据库中。这两个表的结构总是与被触发器作用的表的结构相同。触发器执行完之后,与该触发器相关联的这两个表也会被删除。 SQL Server 2005数据库应用技术 清华大学出版社 Inserted逻辑表:存放用于执行insert和update语句而要从表中插入的所有行。在执行insert或update 语句时,新的行同时添加到激活触发器的表和inserted表中,inserted表的内容是激活触发器的表中新行的拷贝。Deleted表中:存放用于执行delete或update语句而要从表中删除的行。在执行delete或update语句时,被删除的行从激活触发器的表中被移动到deleted表中,两个表不会有共同的行。 SQL Server 2005数据库应用技术 清华大学出版社
显示全部