数据库实验报告六_存储过程HUNAN UNIVERSITY
数据库
实验报告
学生姓名
学生学号
专业班级
指导老师
2017 年 5月 24日
《数据库系统概论》实验报告(六)
题目:PL/SQL存储过程
姓名:Nomad
日期:
实验环境
硬件:联想笔记本电脑
操作系统:Windows 7旗舰版
应用软件:MySQL ,Navicat Preminum
实验内容
熟悉使用存储过程来进行数据库应用程序的设计。
统计离散数学的成绩分布情况,即按照各分数段统计人数。
代码如下:
DELIMITER $$
CREATE PROCEDURE `sumScore`() /*统计课程离散数学各分数段人数*/
BEGIN
declare less60 smallint default 0; /*<60*/
declare b60a70 smallint default 0; /*60~70*/
declare b70a80 smallint default 0; /*70~80*/
declare b80a90 smallint default 0; /*80~90*/
declare more90 smallint default 0; /*>90*/
declare o char(4) default '****';
o
INTO o FROM course
ame = '数学'; /*确保course表中有数学这门课*/
SELECT COUNT(*)
INTO less60 FROM sc
o = o AND grade < 60;
SELECT COUNT(*)
INTO b60a70 FROM sc
o = o AND grade >= 60 AND grade < 70;
SELECT COUNT(*)
INTO b70a80 FROM sc
o = o AND grade >= 70 AND grade < 80;
SELECT COUNT(*)
INTO b80a90 FROM sc
o = o AND grade >= 80 AND grade < 90;
SELECT COUNT(*)INTO more90 FROM sc
o = o AND grade >= 90;
/*将结果存入新表sumScore中*/
create table sumScore( scorestage char(10), number smallint);
insert into sumScore values('x<60', less60);
insert into sumScore values('60<=x<70', b60a70);
insert into sumScore values('70<=x<80', b70a80);
insert into sumScore values('80<=x<90', b80a90);
insert into sumScore values('x>=90', more90);
END$$
call sumScore(); /*调用上述存储
数据库实验报告六 存储过程 来自淘豆网m.daumloan.com转载请标明出处.