第十四课--实现触发器.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十四课--实现触发器

实现触发器 Copyright?2007-2009 创智新程 本课教学内容 触发器概念 触发器的概述 触发器的原理 使用INSERT触发器 使用DELETE触发器 使用UPDATE触发器 修改触发器 撤消触发器 本课教学内容 使用触发器完成数据的完整性 AFTER触发器 INSTEAD OF触发器 触发器和数据完整性实例 触发器概念 触发器类似于存储过程,事实上它们都是一组SQL 语句。主要的区别在于触发器是怎样运行的。 当一行被插入、更新或从表中删除时,触发器才运行,同时这还取决于触发器是怎样创建的。 在数据修改时,触发器是强制业务规则的一种强有力的方法。 触发器的概述 触发器的类型 一个表最多有三种不同的触发器。当UPDATE 发生时使用一个触发器,DELETE 发生时使用一个触发器, INSERT发生时使用一个触发器。 触发器的主要功能 触发器防止了对数据的不正确和不一致的改变。 触发器的概述 触发器的功能示例 当某个作者已经出售了足够的书达到了出版商预支的稿酬的对应数目后,触发器能用来自动计算版税款。 触发器的特征 触发器在相关的表操作发生时,同时被SQL Server自动地激发。在查询分析器或在存储过程中,触发器不能像SELECT查询语句那样显式的被调用执行。 触发器的概述 触发器的不足 尽管触发器功能强大,但是它们也可能对服务器的性能很有害 触发器的原理 每个触发器有两个特殊的表:插入表和删除表 这两个表是逻辑表,并且这两个表是由系统管理的,存储在内存中,不是存储在数据库中,因此不允许用户直接对其修改。 这两个表的结构总是与被该触发器作用的表有相同的表结构。 这两个表主要保存因用户操作而被影响到的原数据值或新数据值。 插入表的功能 对一个定义了插入类型触发器的表来讲,一旦对该表执行了插入操作,那么对向该表插入的所有行来说,都有一个相应的副本存放到插入表中。 插入表就是用来存储,将要向原表中插入的内容。 删除表的功能 对一个定义了删除类型触发器的表来讲,一旦对该表执行了删除操作,则将所有的删除行存放至删除表。 这样做的目的是,一旦触发器遇到了强迫它中止的语句被执行时,删除的那些行,可以从删除表中得以恢复。 使用insert触发器 每当基础表中数据受到数据操纵语句——INSERT影响时,INSERT触发器就被触发。 创建触发器的语法 CREATE TRIGGER trigger_name ON table_name [WITH ENCRYPTION] FOR [INSERT | DELETE | UPDATE] AS sp_statements 任务一 在一批订单中FOX公司经常发现需要在订单中追加一些货品,现在要求我们在Order Details表中追加新数据时,在Order表中的Freight运费在原运费的基础上自动累加新增货物总价值的7%。 解题步骤 步骤1:确认维持数据一致性涉及到的数据表 步骤2:编写创建INSERT触发器的语句 步骤3:执行语句创建触发器 步骤4:检验触发器的建立 步骤5:检验在表Order Detail中数据的正确插入喝表Order中Freight的正确更新 步骤1 触发器建立好后将不需要我们再进行ORDER表中Freight属性的更新,触发器将自动完成。 步骤2 对需求进行详细分析按照以下动作完成语句编写 选择触发的名称为AutoAddFreight 触发器所依附的基本表是Order Details 触发器的类型为INSERT类型 步骤2 编写语句 步骤3 在查询分析器中键入以上编码,按F5键运行 步骤4 在查询分析器中键入: sp_help AutoAddFreight 验证触发器AutoAddFreight的存在,按F5键执行 sp_helpText AutoAddFreight查询所建立触发器的编码 按F5键执行 步骤5 检验在表Order Detail中数据的正确插入喝表Order中Freight的正确更新. 使用DELETE触发器 当我们从DELETE触发器所依附的基本表中删除数据时,触发器被触发。同时Deleted表被建立,Deleted表中存储着刚从基本表中删除的数据。 任务二 订单作为公司资料库中最重要的数据,我们必须对其进行周密的保护因此,FOX公司要求我们创建一个触发器禁止删除Order Details表中的数据。 解题步骤 步骤1:编写创建INSERT触发器的语句 步骤2:执行语句创建触发器

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档