数据库设计存储过程和游标.docx
- 文档编号:2148995
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:13
- 大小:170.76KB
数据库设计存储过程和游标.docx
《数据库设计存储过程和游标.docx》由会员分享,可在线阅读,更多相关《数据库设计存储过程和游标.docx(13页珍藏版)》请在冰豆网上搜索。
数据库设计存储过程和游标
学生实验报告
学院:
用友软件学院
课程名称:
计算机应用技术
专业班级:
08软件4班
姓名:
尚丽娟
学号:
0088234
学生实验报告
学生姓名
尚丽娟
学号
0088234
同组人:
无
实验项目
数据完整性验证
√必修□选修
□演示性实验□验证性实验√操作性实验□综合性实验
实验地点
H123
实验仪器台号
指导教师
熊碧舟
实验日期及节次
2010年11月24日5,6节
一、实验综述
1、实验目的及要求
目的:
熟悉使用存储过程和游标来进行数据库应用程序的设计。
要求:
对学生课程数据库,编写存储过程,完成下面功能:
1)统计任意一门课的平均成绩
2)统计任意一门课的成绩分布情况,即按照各分数段统计人数
3)查找某个学生的选课信息
4)将学生成绩从百分制改为等级制(即A、B、C、D、E)
5)在SC表中插入新列“status”,检查学生成绩,如果有同学不及格,status值为“重修”,如果及格,status值为“取得学分”,如果暂时没有成绩,status值为“待定”
2、实验仪器、设备或软件
实验仪器:
计算机1台
软件:
windowsXP,SQLServer2000
2、实验过程(实验步骤、记录、数据、分析)
1)统计任意一门课的平均成绩
createprocedureavg_course
@HCoursechar(20)
as
selectavg(grade)
fromsc,course
wherecname=@HCourseandsc.cid=course.cid
go
execavg_course’大学英语’
3、
2)统计任意一门课的成绩分布情况,即按照各分数段统计人数
createprocedurest_cou
@Hcnamechar(20)
as
selectcount(sid)as优秀人数
fromsc,course
wherecourse.cid=sc.cidandCname=@Hcnameandgrade
between90and100
selectcount(sid)as良好人数
fromsc,course
wherecourse.cid=sc.cidandCname=@Hcnameandgrade
between80and89
selectcount(sid)as一般
fromsc,course
wherecourse.cid=sc.cidandCname=@Hcnameandgrade
between70and79
selectcount(sid)as及格
fromsc,course
wherecourse.cid=sc.cidandCname=@Hcnameandgrade
between60and69
selectcount(sid)as不及格
fromsc,course
wherecourse.cid=sc.cidandCname=@Hcnameandgrade
between59and0
然后进行验证
execst_cou'大学英语’
3)查找某个学生的选课信息
createprocedurestu_
@Hstuchar(4)
as
select*
fromstudent,sc
wheresname=@Hstuandstudent.sid=sc.sid
go
然后进行验证
execstu_'张三'
4)将学生成绩从百分制改为等级制(即A、B、C、D、E)
Createprocedurechange_grade
As
Declare@sidchar(4),@cidchar(4),@gradeint,@grade_charchar
(1)
Declarecur_gradecursorforselectsid,cid,gradefromsc
Opencur_grade
Fetchnextfromcur_gradeinto@sid,@cid,@grade
While@@fetch_status=0
begin
If@grade>90and@grade<=100set@grade_char='A'
elseif@grade>80and@grade<=90set@grade_char='B'
elseif@grade>70and@grade<=80set@grade_char='C'
elseif@grade>60and@grade<=70set@grade_char='D'
elseset@grade_char='E'
Updatesc
setnewgrade=@grade_char
wheresid=@sidandcid=@cid
Fetchnextfromcur_gradeinto@sid,@cid,@grade
end
closecur_grade
deallocatecur_grade
execchange_grade
5)在SC表中插入新列“status”,检查学生成绩,如果有同学不及格,status值为“重修”,如果及格,status值为“取得学分”,如果暂时没有成绩,status值为“待定”
Createprocedurestatus_sc
As
Declare@sidchar(4),@cidchar(4),@gradeint,@statuschar(10)
Declarecur_gradecursorforselectsid,cid,gradefromsc
Opencur_grade
Fetchnextfromcur_gradeinto@sid,@cid,@grade
While@@fetch_status=0
begin
if@grade>60set@status='取得学分'
elseif@grade<60set@status='重修'
elseset@status='待定'
Updatesc
setstatus=@status
wheresid=@sidandcid=@cid
Fetchnextfromcur_gradeinto@sid,@cid,@grade
end
closecur_grade
deallocatecur_grade
然后进行验证
execstatus_sc
在企业管理器的SC表里面检查
三、结论
1、实验结果
试验中,建立存储过程st_cou,stu_,status_sc能够成功,并且在输入“exce存储过程名”验证的时候均能成功,或者均能影响行数的发生。
并且能够能够定义游标和使用游标、
2、分析讨论
在进行建立存储过程的时候后面一定要定义存储名,在试验中学会使用存储过程来查看,修改,删除,存储过程带来很大的方便在使用数据库的时候,在使用游标的时候一定要记清楚四个过程,说明游标->打开游标->推进游标->关闭游标。
四、指导教师评语及成绩:
评语:
成绩:
指导教师签名:
熊碧舟
批阅日期:
2010-11-27
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库设计 存储过程和游标 数据库 设计 存储 过程 游标