目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
任务1 触发器的作用和分类

第11单元   创建和管理触发器

学习目标

知识目标:

了解触发器的作用

掌握触发器的分类

知道触发器中DELETED表和INSERTED表的作用

能力目标:

会创建和管理触发器

会引发触发器执行




任务11.1触发器的作用和分类

   (一)触发器的作用


      触发器(Trigger)是一种特殊类型的存储过程,它也是由若干条T-SQL语句组成,可以实现一定的功能。与存储过程不同的是,触发器的执行不需要通过调用来完成,而是当用户对数据库、数据库对象、表中的数据执行某种操作后自动触发的。

 触发器不允许带有参数,其定义依赖于各种对象,如表、数据库、服务器等,也可以看作是对象的一部分。

 触发器中的代码可以查询其它表,而且可以包含复杂的 SQL语句,主要用于强制服从复杂的业务规则或要求、保护特定的数据等。

        触发器是一种特殊的存储过程,它作用与约束类似,主要用于保证复杂的数据完整性需求。存储过程执行是通过执行命令主动调用的,而触发器执行不能用命令直接调用,它只能通过某些事件触发而被引发执行。


触发器主要有以下作用:

1.强制数据的引用完整性;

2.级联修改相关数据;

3.跟踪数据变化,防止数据非法修改;

4.返回自定义的错误信息;

5.调用更多存储过程。

触发器可以分为两类:数据操作语言(DML)触发器和数据定义语言(DDL)触发器。

本章主要介绍数据操作语言(DML)触发器的创建和管理。



(二)触发器的分类

根据触发器被激活的时机,DML触发器可分为两种类型:AFTER触发器和INSTEAD OF触发器。

AFTER触发器又被称为后触发器,在引起触发器执行的操作成功完成之后激发该类触发器,如果操作因某种原因没有执行成功,则触发器不会执行。每个表可定义多个AFTER触发器,AFTER触发器只能定义在表上,不能创建在视图上。

INSTEAD OF触发器又被称为替代触发器,它代替触发操作执行,即是说触发器在数据发生变动之前被触发,取代操作数据的动作而执行触发器中定义的操作。INSTEAD OF触发器既可以定义在表上,也可以定义在视图上,每个触发操作(INSERT、UPDATE、DELETE)只能定义一个INSTEAD OF触发器。


(三)触发器的创建与执行



inserted表:当向表中插入记录时,如果该表存在INSERT触发器,系统将自动创建一个与该表结构相同的inserted临时表,新插入的这条记录被添加到该表和inserted临时表中,inserted临时表中保存的是当前插入记录的副本。

deleted表:当从表中删除记录时,如果该表存在DELETE触发器,系统将自动创建一个与该表结构相同的deleted临时表,当前被删除的记录被保存到deleted临时表中。

       修改表中的数据,相当于删除了一条旧记录,同时添加了一条新记录。当某个表定义了UPDATE触发器,表中的数据被修改时,表中原记录会被复制到deleted表中,修改之后的新记录会保存在inserted表中。UPDATE触发器执行完毕之后,两个表都会被删除。

任务 2    触发器的创建与执行