网站大量收购独家精品文档,联系QQ:2885784924

MySQL数据库应用项目式教程课件:创建触发器.pptxVIP

MySQL数据库应用项目式教程课件:创建触发器.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

创建触发器

本节内容1.创建INSERT类型触发器2.创建DELETE类型触发器3.创建UPDATE类型触发器

创建触发器触发器是一种特殊的存储过程,主要通过事件进行触发而自动执行。触发器可以在向数据表中插入、修改或删除数据时进行检查,以保证数据的完整性和一致性。创建触发器使用CREATETRIGGER语句。

01创建INSERT类型触发器

1.创建INSERT类型触发器在图形管理工具MySQL中对studb数据库中student表进行以下操作:(1)创建触发器tr_insert_student,该触发器功能为向学生表(student)中插入一行数据之前,检查total_credits字段,如果total_credits值小于5,则设置total_credits值为10,并进行测试。(2)创建触发器tr_insert_score,实现当向成绩表“score”插入一行数据时,根据成绩对学生表“student”的总学分进行修改。如果成绩=60,总学分加上该课程的学分。否则总学分不变。【任务描述】任务要求在插入数据之前对学分进行检查,所以触发时刻用BEFORE关键字,题目要求是插入数据,因此触发事件用INSERT,题目要求向学生表(student)中插入数据,所以表名用student。【任务分析】

1.创建INSERT类型触发器(1)创建触发器tr_insert_student。【任务实施】①在Navicat查询编辑器窗口输入以下SQL语句,并执行。

1.创建INSERT类型触发器【任务实施】②在Navicat查询编辑器窗口输入以下SQL语句,并执行。INSERTINTOstudentVALUES王泽,男,2004-04-13,信息工程系,22大数据1,2);③查看student表数据。插入语句中设置的total_credits字段值为2,但是student表中插入数据的total_credits字段值为10,说明我们创建的触发器起作用了。

1.创建INSERT类型触发器(2)创建触发器tr_insert_score。【任务实施】①在Navicat查询编辑器窗口输入以下SQL语句,并执行,创建触发器tr_insert_score,并执行。

1.创建INSERT类型触发器【任务实施】②在Navicat查看向score表插入数据之前student表中学号为学生的总学分total_credits。可以看出,在向score表插入数据之前学号为学生的总学分total_credits为17。

1.创建INSERT类型触发器【任务实施】③在Navicat查询编辑器窗口输入以下SQL语句,并执行,向score表中插入一条数据。

1.创建INSERT类型触发器【任务实施】④在Navicat查询编辑器窗口输入以下SQL语句,并执行,查看score表新插入的数据。SELECT*FROMscoreWHEREsno=可以看出,学号为的学生成绩插入score表中了。

1.创建INSERT类型触发器【任务实施】⑤在Navicat查询编辑器窗口输入以下SQL语句,并执行,查看student表中学号为学生的总学分total_credits。与第②步相比,学号为学生的总学分total_credits由17变为20,说明触发器tr_insert_score起作用了,在向score表中插入数据后,激活触发器tr_insert_score执行,触发器将student表中对应学号学生的总学分total_credits进行了修改。

02创建DELETE类型触发器

2.创建DELETE类型触发器在图形管理工具Navicat中对studb数据库中student表进行以下操作:创建一个触发器tr_delete_student,该触发器功能为在学生表(student)中删除一个学生记录之前,删除该学生的所有成绩记录,并进行测试。【任务描述】在编写触发器tr_delete_student时,任务要求在删除学生记录之前删除该学生的成绩记录,所以触发时刻用BEFORE关键字,题目要求是删除数据,因此触发事件用DELETE,题目要求删除学生表(student)中学生记录,所以表名用student。【任务分析】

2.创建DELETE类型触发器【任务实施】①在Navicat查询编辑器窗口输入以下SQL语句,并执行。

2.创建DELETE类型触发器【任务实施】②在Navicat查询编辑器窗口输入以下SQL语句,并执行,删除学号学生记录,然后查看score表中数据。对比上图可以看出,当执行完删除学号为2300

文档评论(0)

ning2021 + 关注
实名认证
文档贡献者

中医资格证持证人

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

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档