《MySQL数据原理与应用》实验报告实验10触发器.docx

上传人:王** 文档编号:995802 上传时间:2024-03-13 格式:DOCX 页数:7 大小:38.48KB
下载 相关 举报
《MySQL数据原理与应用》实验报告实验10触发器.docx_第1页
第1页 / 共7页
《MySQL数据原理与应用》实验报告实验10触发器.docx_第2页
第2页 / 共7页
《MySQL数据原理与应用》实验报告实验10触发器.docx_第3页
第3页 / 共7页
《MySQL数据原理与应用》实验报告实验10触发器.docx_第4页
第4页 / 共7页
《MySQL数据原理与应用》实验报告实验10触发器.docx_第5页
第5页 / 共7页
《MySQL数据原理与应用》实验报告实验10触发器.docx_第6页
第6页 / 共7页
《MySQL数据原理与应用》实验报告实验10触发器.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
资源描述

《《MySQL数据原理与应用》实验报告实验10触发器.docx》由会员分享,可在线阅读,更多相关《《MySQL数据原理与应用》实验报告实验10触发器.docx(7页珍藏版)》请在优知文库上搜索。

1、实验10触发器实验目的令了解触发器的定义、作用和优缺点;令熟悉掌握触发器的创建;令掌握查看和删除触发器;令掌握通过图形化工具管理触发器。要求:所有操作结果均以截图的形式保存,截取的图上尽可能的出现自己的个人信息。实验设备PC机一台;Win7/10操作系统;MySQL8.0、NavicatWorkbench0【实验报告提交】在完成本实验文档要求的所有任务后,加上版权(水印),将文件以“学号姓名+实验10触发器”命名,并转换成PDF文件,提交至超星平台本课程对应的作业文件夹中。实验任务任务1保护系部表中人文与教育学院的地址信息不能被更改任务2保护等级表中学号信息不能被删除任务3使用Navicat工

2、具创建触发器记录班级表操作日志任务4使用Workbench工具管理触发器任务5实验过程中常见错误解决方法实验流程任务1保护系部表中人文与教育学院的地址信息不能被更改【任务需求】在db_study”数据库中创建名为before_noupdate_department”的触发器,使得“tb_department”系部表中人文与教育学院的地址信息不能被更改。首先未创建触发器之前使用UPDATE语句对人文与教育学院的地址信息进行更改,将其地址改为“5栋教学楼二【任务参考效果图】nvsqlSELECT*FROMtb-department-WHEREdepartment_name=人文与教育学院”;+aM

3、rananarwnararmrarMrwnarawmrararaanarar三_+Idepartment_idIdepartment_namedepartment_phone!department_address+-J;+IX08I人文与教育学院I874712365栋教学楼441IS=Z=1-1rowinset(0.00sec)mysqlSELECT*FROMtb_department-WHEREdepartment_name=人文与教育学院”;,一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一十一一一一一一一一一一一一一一一一一一一一

4、十Idepartment-id|department_namedepartment_phoneIdepartment_addressIX08I人文与教育学院I8747123615栋教学楼4H4-T+1rowinset(0.00sec)【任务完成效果图】任务2保护等级表中学号信息不能被删除【任务需求】在“db_study”数据库中创建名为“after_nodelete_grade”的触发器,使得“tb_grade”等级表中“20220101003”学号的信息不能被删除。【任务参考效果图】mysqlDELETEFROMtb_gradeWHEREstudent_id=,20220101003,;ER

5、ROR1054(42S22):Unknowncolumn,student2id,11nwhereclause,mysql.【任务完成效果图】请按照任务需求将完成的效果图放在下方。任务3使用NaViCat工具创建触发器记录班级表操作日志【任务需求】使用数据库图形化管理工具NaViCat创建触发器,当向班级表中添加数据之后,在班级表日志中将记录相应信息。【任务参考效果图】mysqlSELECT*FROMtb_class_logs;H+二+IidIdatelog_textI1I2023-02-06添加了新的班级信息HH+1rowinset(0.00sec)【任务完成效果图】请按照任务需求将完成的效果

6、图放在下方。任务4使用Workbench工具管理触发器【任务需求】使用数据库图形化管理工具Workbench查看和删除触发器。打开数据库图形化管理工具MySQLWorkbench,登录成功后,单击菜单栏的【新建查询】图标,按照任务需求在SQL脚本编辑窗口编写SQL语句,最后单击【运行】图标或使用快捷键“Ctrl+Enter”,即可查看和删除触发器。【任务参考效果图】SQIFIW 夕 SQL FiIePEventTableTimrgGeatedSQLModeDeerQentCharacter.Da三TEtb.dwAFTER2023-02-0916:1ONLY_FUILjGRrootoohostu

7、tfmMINSERTtb.dprtme11tAFTER2023-02-0916:0ONLY_FUIL.GRrootochostUtfSmMUPDATttb.depftmetBEFoRe202X2必16:0ONLY.FULL.GRrootloclhostUtfSmtHoa三tbQrdeAFT三2023-02-0916:0only.full.grrootloolhostUtfSmMName3ftfjns文fterjnsft-dprtmeft卫beffe.nopdt.deprtmetMafterJXJdeIetjgradeSQLFi7、用gtoWm,2Q1*1)ROPTRIGGERIFEXISTSa

8、fter_nodelete_grade;2Oput0ActxyiOutput【任务完成效果图】任务5实验过程中常见错误解决【任务需求】在实验过程中出现如下图所示的错误,请调试,并写出解决办法。【实验思考】1 .语句结束符冲突多个MySQL默认的语句结束符号;”冲突,如下图所示。mysqlCREATETRIGGERafter_insert- BEFOREINSERTONtb_department- FOREACHROW- BEGIN- INSERTINTOtb_department_logs(date,log_text)- MALUES(CURDATEO,CoNCAT(添加了新的系部信息);ER

9、ROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenearatline6问题原因:解决方案:2 .切换结束标记无效在Windows命令提示符窗口创建完触发器后使用“DELIMITER;”语句切换结束标记无效,如下图所示。mysqlDELIMITER$mysqlCREATETRIGGERafter_nodelete_grade- AFTERDELETEONtb_grade- FOREACHROW- BEGIN

10、- IFstudent_idTHEN- CALLROLLBACK;- ENDIF;- END$Query0K,0rowsaffected(0.01sec)mysqlDELIMITER;问题原因:解决方案:3.创建触发器重复在任务1的基础上再建一个触发器,使得系部表中计算机学院的地址信息不能被更改,但提示触发器己经存在,如下图所示mysqlDELIMITER$mysqlCREATETRIGGERbefore_noupdate- BEFOREUPDATEONtb_department- FOREACHROW- BEGIN- IFdepartment_name=计算机学院”THEN- SETNEW.department_address=OLD.department_address;- ENDIF;- END一$ERROR1359(HYOOO):Triggeralreadyexistsmysql问题原因:解决方案:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!