收藏 分销(赏)

数据库设计--存储过程和游标.doc

上传人:仙人****88 文档编号:12012468 上传时间:2025-08-27 格式:DOC 页数:13 大小:237KB 下载积分:10 金币
下载 相关 举报
数据库设计--存储过程和游标.doc_第1页
第1页 / 共13页
数据库设计--存储过程和游标.doc_第2页
第2页 / 共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台 软件:windows XP ,SQL Server 2000 二、 实验过程(实验步骤、记录、数据、分析) 1)统计任意一门课的平均成绩 create procedure avg_course @HCourse char(20) as select avg(grade) from sc,course where cname=@HCourse and sc.cid=course.cid go exec avg_course’大学英语’ 三、 2)统计任意一门课的成绩分布情况,即按照各分数段统计人数 create procedure st_cou @Hcname char(20) as select count(sid) as 优秀人数 from sc,course where course.cid=sc.cid and Cname=@Hcname and grade between 90 and 100 select count(sid) as 良好人数 from sc,course where course.cid=sc.cid and Cname=@Hcname and grade between 80 and 89 select count(sid) as 一般 from sc,course where course.cid=sc.cid and Cname=@Hcname and grade between 70 and 79 select count(sid) as 及格 from sc,course where course.cid=sc.cid and Cname=@Hcname and grade between 60 and 69 select count(sid) as 不及格 from sc,course where course.cid=sc.cid and Cname=@Hcname and grade between 59 and 0 然后进行验证 exec st_cou '大学英语’ 3)查找某个学生的选课信息 create procedure stu_ @Hstu char(4) as select * from student,sc where sname=@Hstu and student.sid=sc.sid go 然后进行验证 exec stu_ '张三' 4)将学生成绩从百分制改为等级制(即A、B、C、D、E) Create procedure change_grade As Declare @sid char(4), @cid char(4), @grade int,@grade_char char(1) Declare cur_grade cursor for select sid ,cid, grade from sc Open cur_grade Fetch next from cur_grade into @sid,@cid,@grade While @@fetch_status=0 begin If @grade>90 and @grade<=100 set @grade_char='A' else if @grade>80 and @grade<=90 set @grade_char='B' else if @grade>70 and @grade<=80 set @grade_char='C' else if @grade>60 and @grade<=70 set @grade_char='D' else set @grade_char='E' Update sc set newgrade=@grade_char where sid=@sid and cid=@cid Fetch next from cur_grade into @sid,@cid,@grade end close cur_grade deallocate cur_grade exec change_grade 5)在SC表中插入新列“status”,检查学生成绩,如果有同学不及格,status值为 “重修”,如果及格, status值为 “取得学分”,如果暂时没有成绩, status值为 “待定” Create procedure status_sc As Declare @sid char(4), @cid char(4), @grade int,@status char(10) Declare cur_grade cursor for select sid ,cid, grade from sc Open cur_grade Fetch next from cur_grade into @sid,@cid,@grade While @@fetch_status=0 begin if @grade>60 set @status='取得学分' else if @grade<60 set @status='重修' else set @status='待定' Update sc set status=@status where sid=@sid and cid=@cid Fetch next from cur_grade into @sid,@cid,@grade end close cur_grade deallocate cur_grade 然后进行验证 exec status_sc 在企业管理器的SC表里面检查 三、结论 1、实验结果 试验中,建立存储过程st_cou,stu_,status_sc能够成功,并且在输入“exce 存储过程名”验证的时候均能成功,或者均能影响行数的发生。并且能够能够定义游标和使用游标、 2、分析讨论 在进行建立存储过程的时候后面一定要定义存储名,在试验中学会使用存储过程来查看,修改,删除,存储过程带来很大的方便在使用数据库的时候,在使用游标的时候一定要记清楚四个过程,说明游标->打开游标->推进游标->关闭游标。 四、指导教师评语及成绩: 评语: 成绩: 指导教师签名:熊碧舟 批阅日期:2010-11-27
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服