《SQLServer2014数据库应用教程》课件-第10章触发器_第1页
《SQLServer2014数据库应用教程》课件-第10章触发器_第2页
《SQLServer2014数据库应用教程》课件-第10章触发器_第3页
《SQLServer2014数据库应用教程》课件-第10章触发器_第4页
《SQLServer2014数据库应用教程》课件-第10章触发器_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章触发器SQLServer2014

数据库应用教程本章要点创建及管理DDL触发器管理DML触发器创建DML触发器3211

创建DML触发器

创建DML触发器。在“OASystem”数据库中的“News”表中有一个“CreateDate”字段,用来记录该条记录被修改的时间。如果每次修改数据时都手工修改这个字段,即耗费时间和精力,还很难准确地记录当时的时间。在表“News”中创建了触发器后,一旦该表的数据发生了变化,就自动将当前的系统时间更新到“CreateDate”字段中。本任务主要步骤如下:(1)要了解触发器的含义,知道触发器是用来做什么。(2)要知道在SQLServer2014的资源管理器中如何创建触发器。(3)创建的触发器如何执行。1.1主要步骤实现过程请参考视频1.2触发器作用和分类触发器实际上就是一种特殊类型的存储过程,其特殊性表现在:它是自动执行某些特定的T-SQL语句的。在SQLServer中,根据激活触发器执行的T-SQL语句类型可以将触发器分为DML触发器和DDL触发器两种。DML触发器根据触发事件的不同又分为After触发器和InsteadOf触发器。After触发器是先修改记录后激活的触发器;InsteadOf触发器是“取代”触发器,这种触发器在事件发生前就会触发。DDL触发器根据作用范围可以分为作用在数据库的触发器和作用在服务器的触发器两种。After触发器只能用于数据表中,InsteadOf触发器即可以用在数据表中,也可以用在视图中。1.3创建触发器语句创建触发器可以使用CREATETRIGGER语句,其语法格式如下。CREATETRIGGER触发器名ON{表名|视图名}[WITHENCRYPTION]{FOR}{[DELETE][,][INSERT][,][UPDATE]}AS[{IFUPDATE(字段名)…[{AND|OR}UPDATE(字段名)[…N]sql_statement[…N]参数说明。WITHENCRYPTION:加密选项,防止触发器作为SQLServer复制的一部分发布。[DELETE][,][INSERT][,][UPDATE]:表示指定执行哪些语句时将激活触发器,至少要指定一个选项,若选项多于一个,需用逗号分隔各选项。IFUPDATE(字段名):在指定的字段上进行INSERT或UPDATE操作时触发的事件,不能用于DELETE操作。2

管理DML触发器

触发器创建完成后,其后续的管理主要包括修改DML触发器、启用DML触发器、停用DML触发器和删除DML触发器。这四项操作组成了管理DML触发器的全部工作,本次任务就是完成上述四项操作。本任务主要步骤如下:(1)修改触发器。(2)禁用触发器(3)启用触发器。(4)删除触发器。2.1实现步骤实现过程请参考视频2.2触发器的修改触发器的修改语句与创建基本一致,具体语法如下。ALTERTRIGGER触发器名ON{表名|视图名}[WITHENCRYPTION]{FOR}{[DELETE][,][INSERT][,][UPDATE]}AS[{IFUPDATE(字段名)…[{AND|OR}UPDATE(字段名)[…N]sql_statement[…N]各参数的含义与CREATETRIGGER语句中所使用的参数相同,这里就不在复述。3

创建及管理DDL触发器其实DDL触发器和DML触发器基本上只是功能不同而已,其原理和创建过程基本一样。DML触发器是针对数据库中的操作语言设计的,DDL触发器则是针对数据库的定义语言进行的。本次任务针对“OASystem”数据库创建一个DDL触发器,以实现对数据库的保护。本任务主要步骤如下:(1)创建DDL触发器。(2)查看与修改DDL触发器(3)禁用、启用与删除DDL触发器。3.1实现步骤实现过程请参考视频3.2DDL触发器创建DDL触发器创建代码如下:CREATE

TRIGGER

<trigger_name>

ON

{

ALL

SERVER

|

DATABASE

}

{

FOR

|

AFTER

}

AS

{SQL语句}

语句中各参数含义如下:行号代码说明1CREATETRIGGER新建触发器命令2trigger_name触发器名称3ON{ALLSERVER|DATABASE}触发器针对的对象,ALLSERVER是指针对所有服务器,DATABASE则是针对数据库5{FOR|AFTER}AFTER指定DML触发器仅在触发SQL语句中指定的所有操作都已成功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论