《MySQL数据原理与应用》实验报告实验8存储过程与游标.docx
-
资源ID:6870530
资源大小:72.01KB
全文页数:8页
- 资源格式: DOCX
下载积分:5金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
《MySQL数据原理与应用》实验报告实验8存储过程与游标.docx
实验8存储过程与游标实验目的令了解存储的种类和优势;掌握存储过程的创建、调用、查看、修改和删除;令了解变量的类别和使用;令掌握基本的流程控制语句;通过不同的工具熟悉管理存储过程。要求:所有操作结果均以截图的形式保存,截取的图上尽可能的出现自己的个人信息。实验设备PC机一台;Win7/10操作系统;MySQL8.0、Navicat>Workbench0【实验报告提交】在完成本实验文档要求的所有任务后,加上版权(水印),将文件以“学号姓名+实验8存储过程与游标”命名,并转换成PDF文件,提交至超星平台本课程对应的作业文件夹中。实验任务任务1使用WHILE语句求1-100累加和任务2使用LOOP语句、ITERATE语句和LEAVE语句求1-100累加和任务3创建存储过程求某同学的成绩任务4使用Workbench工具求1-100累加和任务5使用Navicat工具求某系的人数任务6实验过程中常见错误解决方法实验流程任务1使用WHILE语句求1-100累加和【任务需求】建立一个存储过程,命名为us.whilew,在BEGIN和END语句块中是接下来要输入的存储过程内容,在BEGIN和END语句块中声明变量“sum”(用来存放累加和)和“num”以及它们的变量类型INT,并分别赋值为O和1,通过WHILE循环,将1到100之间的所有数字累加到变量sum中,循环会在num的值增加到101时停止。执行循环体。【任务参考效果图】mysql>DELIMITER;mysql>CALLs_while;sumI5050I1rowinset(0.00sec)QueryOK,0rowsaffected(0.01sec)mysql>.【任务完成效果图】任务2使用LoOP语句、ITERATE语句和LEAVE语句求IToO累加和【任务需求】建立一个存储过程,命名为“sumoop”,在BEGIN和END语句块中是接下来要输入的存储过程内容,在BEGIN和END语句块中声明变量“sum”(用来存放累加和)和“num”以及它们的变量类型INT,并分别赋值为“0”和“1”,使用LOOP语句、ITERATE语句和LEAVE语句计算出1到100之间所有数字的累加和。每次循环将num加1,如果num小于等于IO0,则使用ITERATE跳过本次循环;如果num大于100,则使用LEAVE退出循环,最后,使用SELECT语句检索出变量sum的最终值。【任务参考效果图】raysql>CALLsum_loop;4hsum+I5050I1rowinset(0.01sec)QueryOK,0rowsaffected(0.01sec)raysql>.【任务完成效果图】请按照任务需求将完成的效果图放在下方。任务3创建存储过程求某同学的成绩【任务需求】创建一个存储过程,命名为“student_grade",该存储过程有一个IN模式的参数“s_name",数据类型为VARCHAR。BEGIN和END语句块中是存储的内容,在BEGIN和END语句块之间,SELECT语句根据参数s_name查询“tb_student”数据表和“tb_grade”数据表,输出学生的课程号以及课程分数。【任务参考效果图】ImySq1>CALLStUdent_grade('普杰宏');course_idgrade_scoreK200759K300581K300369K500179+-卜+4rowsinset(0.00sec)RUeryOK,0rowsaffected(0.01sec)【任务完成效果图】请按照任务需求将完成的效果图放在下方。任务4使用Workbench工具求1-100累加和【任务需求】使用数据库图形化管理工具Workbench创建和使用存储过程,求1-100的累 加和。【任务参考效果图】L>l (ditQutry tbs $«rvtr Xools SCriPtiM HtlPEffi布后反圆厘©斑NaVIgatof SCHfMASq Rter oects booOtore db-meetmg fe* db.0udy田 Tables ® Views W Stored Procedures CursoreQrade 囚 navcMjoop s.repeM 囚 s.while student.grde 因 SumJoop 0 workbench. FunctionsAdmanistrMion Schemes夕,具 O H gsi°E * Q Jb 包 call dbvstudy.workbenchMwhile()jExport:WfapCeIContant: EIftformebonSchema: db_studyResult 1 ×Output(J ActonOutput Tim ActtocO1 16823 py c*ges to wob<nc.wHeO 2 160932 APPChan9 to WOkbench JNMeO3 161852 CALLwoAbenchWe【任务完成效果图】任务5使用NaViCat工具求某系的人数【任务需求】使用数据库图形化管理工具NaViCat创建和使用存储过程,求某系的人数。【任务参考效果图】P×countdepartmentdb_study(local.闾保存>停止Q施3自动换行2信息事qSQL雌COUNT(*)>69【任务完成效果图】请按照任务需求将完成的效果图放在下方。任务6实验过程中常见错误解决【任务需求】在实验过程中出现如下图所示的错误,请调试,并写出解决办法。【实验思考】1.创建存储过程提示“ERROR1064(42000)”在Windows系统的命令提示符工具中使用SQL命令行创建存储过程,错误图如下图所示。nysql>CREATEPROCEDUREs,while()->BEGIN->DECLAREsumINT;SftRk1064(42fi0):YouhaveanerrorinyourQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''atline3问题原因:解决方案:2 .为用户变量赋值失败在Windows系统的命令提示符工具中使用SELECT语句为用户变量赋值不成功,错误图如下图所示。图9.32为用户变量赋值失败错误图问题原因:解决方案:3 .调用存储过程进入死循环调用存储过程“deadlock”后,WindOWS系统的命令提示符工具既无法接收命令行指令,也没有数据显示。错误图如下图所示。ysql>usedb_study;DatabapeChangedmysql>CALLd&adlock;问题原因:解决方案: