




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
触发器
触发器概述
触发器概述触发器是一种特殊的存储过程,且不同于一般的存储过程。触发器主要是通过事件进行触发而被执行,而一般的存储过程则是通过存储过程名称被直接调用。触发器是一个功能强大的工具,与表紧密连接,可以看作是表结构定义的一部分。触发器基于一个表创建,但可以操作多个表。它可以在向数据表中插入、修改或删除数据时进行检查,以保证数据完整性和一致性。当用户修改(INSERT、UPDATE或DELETE)指定表中的数据时,该表中的相应的触发器就会自动执行。谢谢触发器
创建触发器
本节内容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)中删除一行数据之前,删除该学生的所有成绩记录。操作案例知识点概述示例9-6运行结果如下:删除学生表(student)中的一条学生记录,验证示例9-5中的触发器tr_deleteStudent。谢谢触发器
修改触发器
修改触发器MySQL中没有类似ALTERTRIGGER语句,因此,我们不能象修改其他数据库对象,例如表、视图和存储过程那样修改触发器。如果要修改触发器,可以先删除原触发器,再以相同的名称、并使用新的代码重新创建。谢谢触发器
删除触
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年PVC白方盒项目投资价值分析报告
- 餐饮运营方案标准(3篇)
- 食堂人员审计方案(3篇)
- 一级建造师建设工程法规及相关知识
- 安全生产早会安全该讲哪些内容
- 安全生产责任书签订情况
- 老旧平房房屋改造方案(3篇)
- 转租承包方案(3篇)
- 2025年湖北省文化旅游投资集团有限公司校园招聘笔试模拟试题及1套参考答案详解
- 学生安全事故案例心得体会
- 2025至2030中国合规行业发展趋势分析与未来投资战略咨询研究报告
- 【人教版】河北石家庄2024-2025学年 四年级下学期期末数学试题【一】有解析
- 2025年卫生系统招聘考试《职业能力倾向测试》新版真题卷(附详细解析)
- 2025-2030年中国下一代测序(NGS)数据分析行业市场现状供需分析及投资评估规划分析研究报告
- 数据中心运维服务投标方案
- 2023-浙江信息技术-学考总复习-知识点总结
- 集中控制中心建设(指挥中心建设)
- 施工导流围堰工程实例讲义课件(117页配图丰富)
- 排水系统PLC控制及组态设计说明书
- 自考西方政治制度复习重点笔记资料整理(共30页)
- 清溪1井溢流事件压封井抢险分析
评论
0/150
提交评论