《MySQL数据库应用与管理(第3版)》 课件 9.2 创建触发器_第1页
《MySQL数据库应用与管理(第3版)》 课件 9.2 创建触发器_第2页
《MySQL数据库应用与管理(第3版)》 课件 9.2 创建触发器_第3页
《MySQL数据库应用与管理(第3版)》 课件 9.2 创建触发器_第4页
《MySQL数据库应用与管理(第3版)》 课件 9.2 创建触发器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

触发器

创建触发器

本节内容1.使用CREATETRIGGER语句创建触发器2.触发器中的NEW和OLD关键字3.创建插入触发器4.创建更新触发器5.创建删除触发器创建触发器创建触发器使用CREATETRIGGER语句,其语法格式如下:

CREATETRIGGER<触发器名> BEFORE|AFTER INSERT|UPDATE|DELETE ON<表>FOREACHROW <触发器过程体>1.使用CREATETRIGGER语句创建触发器创建触发器说明:BEFORE|AFTER:触发器触发的时机。INSERT|UPDATE|DELETE:触发器触发的事件。FOREACHROW:对于触发事件影响的每一行,都要激活触发器动作。触发器过程体:事件发生,触发器需要执行的任务。同一张表、同一触发事件、同一触发时机只能创建一个触发器。触发器执行的顺序BEFORE触发器、表操作(INSERT、UPDATE、DELETE)和AFTER触发器。1.使用CREATETRIGGER语句创建触发器创建触发器MySQL的触发器无任何输入和输出参数,其内部使用的参数就是新旧两条记录NEW和OLD的字段,用来完成数据表之间的触发操作,来保证数据库的一致性、完整性。NEW表示的新插入的数据,OLD表示的是原来的数据:当使用INSERT语句的时候,插入的那一条数据相对于插入数据后的表来说就是NEW。当使用DELETE语句的时候,删除的那一条数据相对于删除数据后的表来说就是OLD。当使用UPDATE语句的时候,修改前的那一条数据相对于修改数据后的表来说就是OLD;修改后的那一条数据相对于修改数据后的表来说就是NEW。2.触发器中的NEW和OLD关键字创建触发器在触发器BEFORE中可以在对NEW进行赋值和取值;而在AFTER中只能对NEW进行取值,不能赋值。访问触发器中NEW和OLD的语法格式如下: NEW.column_name OLD.column_name2.触发器中的NEW和OLD关键字创建触发器创建插入触发器使用INSERT关键字,即当指定的数据表发生数据插入操作时,自动触发并执行指定的任务;可设置在插入前触发、还是在插入后触发,分别使用BEFORE或者AFTER关键字。3.创建插入触发器操作案例知识点概述示例9-1运行结果如下:创建一个由INSERT触发的前触发器tr_insertStudent,一旦在学生表(student)中插入一行数据之前,检查性别是否为“男”或者“女”,如果不是,则设置为“男”。操作案例知识点概述示例9-2运行结果如下:向学生表(student)中插入一条学生记录,验证示例9-1中的触发器tr_insertStudent。创建触发器创建更新触发器使用UPDATE关键字,即当指定的数据表发生数据更新操作时,自动触发并执行指定的任务;可设置在更新前触发、还是在更新后触发,分别使用BEFORE或者AFTER关键字。4.创建更新触发器操作案例知识点概述示例9-3运行结果如下:创建一个由UPDATE触发的后触发器tr_updateStuScore,一旦在成绩表(score)中修改了某一学生的某一课程的成绩之后,把修改时间、学号、课程编号、修改前成绩、修改后成绩保存到数据表trigger_log中。操作案例知识点概述示例9-4运行结果如下:修改成绩表(score)中的一条学生的课程成绩,验证示例9-3中的触发器tr_updateStuScore。创建触发器创建删除触发器使用DELETE关键字,即当指定的数据表发生数据删除操作时,自动触发并执行指定的任务;可设置在删除前触发、还是在删除后触发,分别使用BEFORE或者AFTER关键字。5.创建删除触发器操作案例知识点概述示例9-5运行结果如下:创建一个由DELETE触发的前触发器tr_deleteStudent,一旦在学生表(student)中删除一行数据之前,删除

温馨提示

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

评论

0/150

提交评论