浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第十一章 管理触发器

第十一章管理触发器 触发器的概念 触发器的功能和类型 使用企业管理器创建和管理触发器 使用TSQL创建和管理触发器
1 第十一章 管理触发器 • 触发器的概念 • 触发器的功能和类型 • 使用企业管理器创建和管理触发器 • 使用T-SQL创建和管理触发器

触发器的基本概念 触发器是一种特殊类型的存储过程,它 不同于普通的存储过程。触发器主要是 通过事件进行触发而被执行的,而存储 过程可以通过存储过程名称而被直接调 用。当往某一个表格中插入记录、修改 记录或者删除记录时, SQL SERVER就 会自动执行触发器所定义的SQL语句, 以确保数据的完整性
2 • 触发器是一种特殊类型的存储过程,它 不同于普通的存储过程。触发器主要是 通过事件进行触发而被执行的,而存储 过程可以通过存储过程名称而被直接调 用。当往某一个表格中插入记录、修改 记录或者删除记录时,SQL SERVER就 会自动执行触发器所定义的SQL语句, 以确保数据的完整性。 触发器的基本概念

SQL SERVER可以检查数据完整性的还有什么 情况? 比如前面讲过的 CHECK约束。但是,与 CHECK约束相比,触发器可以强制实现更加 复杂的数据完整性,而且可以参考其他表的字 段 注意:触发器可以扩展 SQL Server约束、默 认值和规则的完整性检查逻辑,但只要约束和 默认值提供了全部所需的功能,就应使用约束 和默认值
3 • SQL SERVER可以检查数据完整性的还有什么 情况? • 比 如 前 面 讲 过 的 CHECK 约 束 。 但 是 , 与 CHECK约束相比,触发器可以强制实现更加 复杂的数据完整性,而且可以参考其他表的字 段。 • 注意:触发器可以扩展 SQL Server 约束、默 认值和规则的完整性检查逻辑,但只要约束和 默认值提供了全部所需的功能,就应使用约束 和默认值

触发器的作用 触发器可以使用TSQL语句进行复杂的逻 辑处理,它基于一个表创建,但是可以 对多个表进行操作,因此常常用于复杂 的业务规则。一般可以使用触发器完成 如下功能:
4 触发器的作用 • 触发器可以使用T-SQL语句进行复杂的逻 辑处理,它基于一个表创建,但是可以 对多个表进行操作,因此常常用于复杂 的业务规则。一般可以使用触发器完成 如下功能:

触发器的作用 1、级联修改数据库中相关的表。 例如:在数据库c0 mpany中有两个表 project和 customer,表 project包含项目信息和项目的 合作客户名,而 customer表中则存储所有客户 的信息。如果删除了 customer表中的某一客户, 如张三,那么在 project表中所有和该客户有关 的项目记录都应该做相应的调整。如在 project 表中将所有合作客户为张三的字段改为nu或 者其它值,或者删除整条和张三有关的记录 而使用触发器就可以实现这样的功能
5 触发器的作用 • 1、级联修改数据库中相关的表。 • 例如:在数据库company中有两个表project和 customer,表project中包含项目信息和项目的 合作客户名,而customer表中则存储所有客户 的信息。如果删除了customer表中的某一客户, 如张三,那么在project表中所有和该客户有关 的项目记录都应该做相应的调整。如在project 表中将所有合作客户为张三的字段改为null或 者其它值,或者删除整条和张三有关的记录。 而使用触发器就可以实现这样的功能

触发器的作用 2、执行比核查约束更为复杂的约束操作 ·在触发器中可以书写更复杂的TSQL语 句,例如可以引用多个表,并使用 if.lse等语句做更复杂的检查。 3、拒绝或回滚违反引用完整性的操作。 检查对数据表的操作是否违反引用完整 性,并选择相应的操作
6 触发器的作用 • 2、执行比核查约束更为复杂的约束操作。 • 在触发器中可以书写更复杂的T-SQL语 句,例如可以引用多个表,并使用 if…else等语句做更复杂的检查。 • 3、拒绝或回滚违反引用完整性的操作。 检查对数据表的操作是否违反引用完整 性,并选择相应的操作

触发器的作用 4、比较表修改前后数据之间的差别,并 根据差别采取相应的操作。例如:若想 规定每次工资的变动幅度不能超过40%, 使用触发器可以将修改后的表数据和修 改前的表数据进行比较,若超出40%, 可以回滚该修改操作
7 触发器的作用 • 4、比较表修改前后数据之间的差别,并 根据差别采取相应的操作。例如:若想 规定每次工资的变动幅度不能超过40%, 使用触发器可以将修改后的表数据和修 改前的表数据进行比较,若超出40%, 可以回滚该修改操作

触发器的类型 触发器可以分为五种类型: Update舳发器:在表上进行更新操作时触 发 Insert触发器:在表上进行更新操作时触发 Delete触发器:在表上进行更新操作时触发 · Instead o触发器:不执行插入、更新或删 除操作时,将触发 Instead of触发器。 After发器:在一个触发动作发生之后激 发,并提供一种机制以便控制多个触发器 的执行顺序
8 触发器的类型 • 触发器可以分为五种类型: • Update触发器:在表上进行更新操作时触 发。 • Insert触发器:在表上进行更新操作时触发 • Delete触发器:在表上进行更新操作时触发 • Instead of触发器:不执行插入、更新或删 除操作时,将触发Instead of 触发器。 • After触发器:在一个触发动作发生之后激 发,并提供一种机制以便控制多个触发器 的执行顺序

SQL Server2000新增的触发器 SQL Server2000新增了两种类型的触发器 AFTER触发器和Ⅰ NSTEAD OF触发器。其中 AFTER要求只有执行某一操作( INSERT UPDATE、 DELETE)之后触发器才被触发, 且只能在表上定义。可以为针对表的同一操作 定义多个触发器。对于 AFTER触发器,可以 定义哪一个触发器被最先触发,哪一个被最后 触发,通常使用系统过程 sp settriggerorder来 完成此任务
9 SQL Server2000新增的触发器 • SQL Server 2000 新增了两种类型的触发器 AFTER 触发器和INSTEAD OF 触发器。其中 AFTER 要求只有执行某一操作(INSERT、 UPDATE、DELETE )之后触发器才被触发, 且只能在表上定义。可以为针对表的同一操作 定义多个触发器。对于AFTER 触发器,可以 定义哪一个触发器被最先触发,哪一个被最后 触发,通常使用系统过程sp_settriggerorder 来 完成此任务

INSTEAD OF触发器表示并不执行其所 定义的操作( INSERT、 UPDATE、 DELETE),而仅是执行触发器本身。既 可在表上定义 INSTEAD OF触发器,也 可以在视图上定义 INSTEAD OF触发器, 但对同一操作只能定义一个 INSTEAD OF 触发器
10 • INSTEAD OF 触发器表示并不执行其所 定义的操作(INSERT、UPDATE、 DELETE),而仅是执行触发器本身。既 可在表上定义INSTEAD OF 触发器,也 可以在视图上定义INSTEAD OF 触发器, 但对同一操作只能定义一个INSTEAD OF 触发器
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第十三章 SQL Server数据转换.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第十二章 管理存储过程.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第三章 SQL语言基础.ppt
- Windows 数据恢复原理与方法.ppt
- Windows 数据恢复原理与方法 - 提示信息.doc
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)第5章 内存管理.ppt
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)第4章 死锁处理.ppt
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)第3章 并发控制——互斥与同步.ppt
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)第2章 进程描述与控制.ppt
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)第1章 操作系统概论.ppt
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)内容简介(董明刚).ppt
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)第8章 文件管理.ppt
- 广西大学:《计算机操作系统》课程教学资源(PPT课件)第7章 I/O设备管理.ppt
- 清华大学:《文献检索》Ei_web.doc
- 清华大学:《文献检索》Sci_web_work.doc
- 清华大学:《文献检索》课程教学资源(PPT课件)5、学术资源的利用(孙平).ppt
- 清华大学:《文献检索》课程教学资源(PPT课件)4、计算机检索方法(SCI_Web).ppt
- 清华大学:《文献检索》课程教学资源(PPT课件)3、计算机检索方法(Ei_Web).ppt
- 清华大学:《文献检索》课程教学资源(PPT课件)2、计算机信息检索.ppt
- 清华大学:《文献检索》课程教学资源(PPT课件)1、检索基础知识.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第十章 管理索引(耿建玲).ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第四章 T-SQL程序设计基础.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第五章 管理事务和管理数据库.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第一章 SQL Server关系数据库概述.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第八章 SQL Server权限管理.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第二章 数据库基础(耿建玲).ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第九章 数据库备份与恢复.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第六章 管理数据库表.ppt
- 浙江大学:《数据库系统管理与维护》课程教学资源(PPT课件讲稿)第七章 管理视图.ppt
- 《java认证》课程简介.doc
- 《java认证》第五章 对象和类.doc
- 《java认证》第六章 高级语言特征.doc
- 《java认证》第七章 异常.doc
- 《java认证》第八章 建立 GUIs.doc
- 《java认证》第9章 AWT 事件模型.doc
- 《java认证》第10章 AWT 组件库.doc
- 《java认证》第11章 Java 基础类.doc
- 东南大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第一章 概述、第二章 数据的表示、第三章 运算器与运算方法.ppt
- 东南大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第四章 存储系统、第五章 指令系统、第六章 中央处理机组织.ppt
- 东南大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第七章 总线及总线互连结构、第八章 输入输出设备.ppt