数据库实验报告六-存储过程.docx

数据库实验报告六-存储过程.docx

ID:57440497

大小:222.26 KB

页数:6页

时间:2020-08-16

数据库实验报告六-存储过程.docx_第1页
数据库实验报告六-存储过程.docx_第2页
数据库实验报告六-存储过程.docx_第3页
数据库实验报告六-存储过程.docx_第4页
数据库实验报告六-存储过程.docx_第5页
资源描述:

《数据库实验报告六-存储过程.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、HUNANUNIVERSITY数据库实验报告学生姓名学生学号专业班级指导老师2017年5月24日《数据库系统概论》实验报告(六)题目:PL/SQL存储过程姓名:Nomad日期:2017.5.24一、实验环境1、硬件:联想笔记本电脑2、操作系统:Windows7旗舰版3、应用软件:MySQL6.3,NavicatPreminum11.2.16二、实验内容熟悉使用存储过程来进行数据库应用程序的设计。1、统计离散数学的成绩分布情况,即按照各分数段统计人数。代码如下:DELIMITER$$CREATEPROCEDURE`sumScore`()/*统计课程离散数学各分数段人数

2、*/BEGINdeclareless60smallintdefault0;/*<60*/declareb60a70smallintdefault0;/*60~70*/declareb70a80smallintdefault0;/*70~80*/declareb80a90smallintdefault0;/*80~90*/declaremore90smallintdefault0;/*>90*/declarecountcnochar(4)default'****';SELECTCnoINTOcountcnoFROMcourseWHEREcname='数学';/*确保c

3、ourse表中有数学这门课*/SELECTCOUNT(*)INTOless60FROMscWHEREcno=countcnoANDgrade<60;SELECTCOUNT(*)INTOb60a70FROMscWHEREcno=countcnoANDgrade>=60ANDgrade<70;SELECTCOUNT(*)INTOb70a80FROMscWHEREcno=countcnoANDgrade>=70ANDgrade<80;SELECTCOUNT(*)INTOb80a90FROMscWHEREcno=countcnoANDgrade>=80ANDgrade<90

4、;SELECTCOUNT(*)INTOmore90FROMscWHEREcno=countcnoANDgrade>=90;/*将结果存入新表sumScore中*/createtablesumScore(scorestagechar(10),numbersmallint);insertintosumScorevalues('x<60',less60);insertintosumScorevalues('60<=x<70',b60a70);insertintosumScorevalues('70<=x<80',b70a80);insertintosumScorevalu

5、es('80<=x<90',b80a90);insertintosumScorevalues('x>=90',more90);END$$callsumScore();/*调用上述存储过程*/首先创建存储过程,然后再调用存储过程。结果如下:(上述结果图截自Navicat软件)可以看到,在stuinfo中新建了一个基本表sumscore,表中内容是数学课程成绩的各分数段的人数。1、统计任意一门课的平均成绩。代码如下:DELIMITER$$CREATEPROCEDURE`scoreAvg`()BEGINdeclarecurnamechar(40)defaultnull;/

6、*临时存放课程名*/declarecurcnochar(4)defaultnull;/*临时存放课程号*/declarecuravgfloat;/*临时存放平均成绩*/declaremycursorcursorfor/*定义游标*/selectcno,cnamefromcourse;declarecontinuehandlerfornotfoundsetcuravg=-1;openmycursor;/*打开游标*/fetchmycursorintocurcno,curname;/*从结果集中取第一条记录到临时变量中*/repeat/*重复取记录*/selectavg

7、(grade)intocuravgfromscwherecno=curcno;insertintoscoreAvgvalues(curcno,curname,curavg);/*将结果存入新表scoreAvg中*/fetchmycursorintocurcno,curname;untilcuravg=-1endrepeat;closemycursor;/*关闭游标*/END$$callscoreAvg();/*调用上述存储过程*/首先创建存储过程,然后再调用存储过程。结果如下:可以看到,在stuinfo中新建了一个基本表scoreavg,表中内容是各课程的平均成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。