欢迎来到天天文库
浏览记录
ID:60816854
大小:174.00 KB
页数:7页
时间:2020-12-20
《实验六-存储过程创建与应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验六存储过程创建与应用一、实验目的使学生理解存储过程的概念,掌握创建存储过程的使用、执行存储过程和查看、修改、删除存储过程的方法。二、实验内容(1)创建存储过程student_grade,要求实现如下功能:查询“学生-课程”数据库中每个学生各门功课的成绩,其中包括每个学生的sno,sname,cname,grade。(2)利用查询分析器创建名为proc_exp的存储过程,要求实现如下功能:从sc表中查询某一学生考试平均成绩。(3)修改存储过程proc_exp,要求实现如下功能:输入学生学号,根据该学生所选课程的平均成绩显示提示信息,即如果平均成绩在60分以上,显示“此学生综合成绩合格,成绩为
2、XX分”,否则显示“此学生总和成绩不合格,成绩为XX分”。(4)创建名为proc_add的存储过程,要求实现如下功能:向sc表中添加学生成绩记录。调用proc_add,向sc表中添加学生成绩记录。(5)调用存储过程proc_exp,输入学生学号,显示学生综合成绩是否合格。(6)删除刚刚创建的proc_add和proc_exp两个存储过程。三、实验过程(1)创建存储过程student_grade:查询每个学生各门功课的成绩(部分查询结果):(2)创建存储过程proc_exp:查询某一学生考试平均成绩(部分结果):(3)修改存储过程proc_exp调用存储过程proc_exp,输入学生学号,显示学
3、生综合成绩是否合格(4)创建名为proc_add的存储过程:添加学生记录:执行前:执行后:(5)删除刚刚创建的proc_add和proc_exp两个存储过程。四、实验总结在创建proc_exp存储过程时,需要添加groupby语句对结果进行分组,不然会出现错误。当调用存储过程proc_exp,输入学号查询学生综合成绩是否合格时,出现错误:“Conversionfailedwhenconvertingthevarcharvalue'77.'todatatypeint.”看到该错误时自己清楚是数据类型不匹配导致,经过仔细分析之后终于明白是自己更改pro_exp存储结构中的if@avg>=60语句不
4、正确,因为在创建表的时候,定义的学生成绩的数据类型为decimal(5,2),即最大5位数字,其中2位小数,定义的变量avg类型为varchar(20),在将该语句修改为if@avg>=60.00后,查询成功。SQLSever中的存储过程与其他编程语言中的函数类似,就像是函数的调用,包含执行各种数据库操作的语句,并且可以调用其他的存储过程,把实现一些功能的语句封装起来,需要使用的时候进行调用,效率很高使用起来非常方便。
此文档下载收益归作者所有