第8节 第2讲 触发器.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 存储过程和触发器 ——触发器的使用 主讲人:白杨 复习: 存储过程的含义、优点 类型:系统存储过程、用户存储过程 创建存储过程:需要确定存储过程的三个组成部分: 所有的输入参数、传给调用程序的输出参数。 被执行的针对数据库操作的语句,包括调用其它存储过程的语句( 嵌套)。 返回给调用程序的状态值,以指明调用是成功或失败(reture n) 复习: 格式 Create procedure p_cj @学号 char(6), @课程名称 output, @成绩 output as SQL语句 调用存储过程 Declare @xh char(6) , @kcm char(16), @cj int Set @xh =‘020102’ Exec p_cj @xh , @kcm output , @cj output Print ……. 引: 实现数据完整性三个方面: 实现“实体完整性”的方法 primary key约束、unique约束、标识列、惟一索引 实现“域完整性”的方法 Check 约束、规则对象、 default 约束、默认值对象、not null 约束 实现“参照完整性”的方法 foreign key约束 请思考: 当用户对表进行了相应的操作后,我们希望系统能自动撤消该操作,并给出用户提示信息,请问能否用以上的方法来实现? 第9章 存储过程和触发器 ——触发器的使用 教学内容 基础知识: 触发器概述 创建触发器 触发(激活)触发器 触发器的更新 触发器的删除 第9章 存储过程和触发器 —— 触发器的使用 学习目标 认知目标: 理解触发器的概念和作用 了解触发器的触发方式 了解inserted和deleted临时表 能力目标: 触发器的创建(重点) 创建不同类型的触发器(难点) 根据触发器的功能正确检验触发器的作用 (难点) 一、触发器概述 ——1.触发器的概念 含义 是一种表或视图执行insert、 delete、update操作时,被系统自动执行的特殊的存储过程。 创建触发器的目的 对表实现复杂的数据完整性约束,以防止不正确的操作。 一、触发器概述 ——2.触发器的类型 按触发器激活的时机不同,分为: 后触发器(掌握) 只有执行了insert、 delete、update操作后,才激发的触发器。 替代触发器(了解) 不执行命令所定义的insert、 delete、update操作,而仅执行触发器中定义的代码。 按引起触发的事件不同,分为: insert触发器 delete触发器 update触发器 一、触发器概述 ——3.临时表 每个触发器被激活时,系统都为它自动创建两个临时表: inserted表 deleted表 临时表的特点: 是逻辑表,由系统来维护,用户不能对它们进行修改。 其结构与源表 (激活触发器的表)结构相同 触发器执行完成后,该临时表会自动被删除。 一、触发器概述 ——3.临时表 deleted 临时表的作用: 存放执行delete或update语句后,要从源表中删除的行 特点:源表和delete表不会有相同的行。 inserted临时表的作用: 存放执行insert或update语句后,要在源表中插入的新行(新行同时插入了源表和inserted表中) 特点:源表和inserted表有相同的行。 演示图 二、创建和激活触发器 创建格式: create trigger 触发器名 on 表名| 视图名 for | after | instead of [ insert , update, delete ] as SQL语句 说明: 1个表上可有多个触发器。 每个触发器只能作用在一个表上。 二、创建和激活触发器 ——1.insert触发器 实例1:在xscj库的成绩表上创建1个名为tr_insert_cj的触发器,当向成绩表表进行插入操作时激发该触发器,并给出提示信息“有新成绩插入到成绩表表中!” create trigger tr_insert_cj on 成绩表 after insert as print ‘有新成绩信息插入到成绩表表! ’ go insert into 成绩表 values( ‘000018, ‘008, 87) 二、创建和激活触发器 ——1.insert触发器 实例2: 【题意分析】:要在xscj库的学生基本信息表中插入下面所

文档评论(0)

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

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

1亿VIP精品文档

相关文档