下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实训5-4存储过程答案下载stu.sql文件,导入,在stu数据库完成下列存储过程的创建。创建存储过程p1,查询stu数据库表student表中所有数据。(无参数)DELIMITER$$CREATEPROCEDUREp1()BEGINSELECT*FROMSTUDENT;END$$DELIMITER;Callp1;创建存储过程p2,查询任意学号学生的姓名、课程号和成绩(学号为带入参数)。DELIMITER$$CREATEPROCEDUREp2(idCHAR(4))BEGINSELECTsname,cno,resultFROMstudentaJOINscorebONa.sid=b.sidWHEREa.sid=id;END$$DELIMITER;调用:CALLp2('0101');CALLp2('0201');创建存储过程p3,查询任意学号学生的姓名和性别(学号为带入参数),显示格式为:xxx是X生,如‘刘明是男生’。CREATEPROCEDUREp3(idCHAR(4))BEGINDECLAREname1VARCHAR(20);DECLAREsex1CHAR(2);SELECTsname,sexINTOname1,sex1FROMstudentWHEREsid=id;IFsex1='男'THENSELECTCONCAT(name1,'是男生');ELSESELECTCONCAT(name1,'是女生');ENDIF; END$$Callp3(‘0101’)创建存储过程p4,查询任意学号学生的姓名(学号为带入参数,姓名为带出参数)。DELIMITER$$CREATEPROCEDUREp4(INidCHAR(4),OUTname1CHAR(10)) BEGINSELECTsnameINTOname1FROMstudentWHERESID=id;END$$DELIMITER;CALLp4('0101',@NAME1);SELECT@NAME1;创建存储过程p5,根据系部名称查询查询返回该系部的学生人数(系部名称为带入参数,人数使用带出参数)。DELIMITER$$CREATEPROCEDUREp5(dnameCHAR(10),OUTnumint) BEGINSELECTcount(*)intonumFROMstudentWHEREdepartment=dname; END$$DELIMITER;CALLp5('信息工程系',@num);Select@num;创建存储过程p6,修改score表中成绩:三个带入参数(学号,课程名,新分数),将某学号某门课成绩修改为新分数。DELIMITER$$CREATEPROCEDUREp6(stuidCHAR(4),cno1CHAR(2),gradeINT(10))BEGINUPDATEscoreSETresult=gradeWHEREsid=stuidANDcno=cno1; END$$DELIMITER;Callp6(‘0101’,’01’,99);创建存储过程p7,删除score表中成绩:删除某学号某门课程成绩。(学号和课程号为带入参数)DELIMITER$$CREATEPROCEDUREp7(idchar(4),cno1CHAR(2)) BEGINDELETEFROMscoreWHEREsid=idANDcno=cno1; END$$DELIMITER;Callp7(‘0101’,’01’);8.创建带游标的存储过程p8,其功能是利用游标逐行浏览返回某个学号的学生学号,课程号,成绩(学号为带入参数)。DELIMITER$$CREATEPROCEDUREp8(idCHAR(4))BEGINDECLAREsid1CHAR(4);DECLAREcno1CHAR(2);DECLAREresult1FLOAT;DECLAREFOUNDBOOLEANDEFAULTTRUE;--初始化游标循环变量DECLAREsc_cursorCURSORFORSELECTsid,cno,resultFROMscorewheresid=id;DECLARECONTINUEHANDLERFORNOTFOUNDSETFOUND=FALSE;--若无;数返回,程序继续,并将变量FOUND设为fa1seOPENsc_cursor;FETCHsc_cursorINTOsid1,cno1,result1;WHILEFOUNDDOSELECTsid1,cno1,result1;FETCHsc_cursorINTOsid1,cno1,result1;ENDWHILE;CLOSEsc_cursor;END$$DELIMITER;调用方式如下:CALLp8('0101');sqlyog创建存储过程注意事项1.要定义delimiter//,意思是用//作为一段语句的结束符。2.使用第三方mysql客户端sqlyogent.exe,一定要在数据库目录里边的存储过程右键选择新建存储过程,然后在右边弹出的窗口里键入你的存储过程语句,在普通查询分析器输入无效。3.如果存储过程的参数如果是输入中文的话,要在定义存储过程的后面加上charactersetgbk这个编码,不然调用存储过程使用中文参数的时候会出错,如:create
procedurecountpro(outa_outint,inb_datedate,inunit_namevarchar(45)charactersetgbk)
4.如果你的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 原料药精制干燥工岗前诚信品质考核试卷含答案
- 矿热电炉熔炼工班组建设评优考核试卷含答案
- 计算机板级维修工操作安全水平考核试卷含答案
- 苯酚丙酮装置操作工安全强化知识考核试卷含答案
- 电极丝制造工班组安全评优考核试卷含答案
- 金属玩具制作工冲突解决能力考核试卷含答案
- 瓦斯泵工常识模拟考核试卷含答案
- 井下配液工岗前能力评估考核试卷含答案
- 味精原料粉碎工冲突解决模拟考核试卷含答案
- 稀土永磁材料工安全教育竞赛考核试卷含答案
- 2025年无人机驾驶员职业技能考核重点题型试题集
- A类业余无线电操作技术能力验证题目题库
- 专题02 20天搞定中考必背1600词(二)-中考英语一轮复习知识清单
- 材料成型工艺基础课件:焊接成形工艺基础
- 材料员岗位年度绩效考核表KPI
- 四川建设工程新建(扩建)报建流程
- 银行询证函生成器-正式版2.0
- 招投标异常事件及应急措施
- 财务风险管理国外研究现状分析
- 中国春节ppt英文版 Chinese New Year
- 【房地产企业成本控制分析:以万科地产为例(任务书+开题报告+论文)16000字】
评论
0/150
提交评论