19存储过程(1)答案.doc

上传人:s9****2 文档编号:561529633 上传时间:2022-11-04 格式:DOC 页数:4 大小:62.51KB
返回 下载 相关 举报
19存储过程(1)答案.doc_第1页
第1页 / 共4页
19存储过程(1)答案.doc_第2页
第2页 / 共4页
19存储过程(1)答案.doc_第3页
第3页 / 共4页
19存储过程(1)答案.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《19存储过程(1)答案.doc》由会员分享,可在线阅读,更多相关《19存储过程(1)答案.doc(4页珍藏版)》请在金锄头文库上搜索。

1、课程实训指导存储过程应用(1)6.0 基本信息1、实训时间 2学时。2、实训地点 计算机实验中心/软件技术实训室。3、实训目的1)掌握存储过程的基本概念,理解存储过程数据库对象的特点2)掌握T-SQL语言中变量的定义、使用4、实训方式及安排1、 布置实训讲义中实践内容及要求 2、 学生实训(教师查看学生提炼要点,根据问题后面花5-10分钟时间和学生讲解)3、 完成课堂实训辅导,记录下学生存在的问题4、 根据做题普遍存在的问题,进行讲解点评6.1 知识要点1)使用T-SQL 语句的注释、常量、变量使用方法;2)学习使用SET语句进行变量定义和赋值;3)掌握带参数的存储过程的定义、调用方法;4)学

2、习使用带返回参数的存储过程定义。6.2 实训任务 一、 实训准备工作1、 执行教务管理系统创建数据库和表的T-SQL语句,创建教务管理系统数据库。2、 在SSMS中,执行提供的数据添加语句,在数据库中添加数据。二、 根据要求完成以下操作任务(1)创建一个带有SELECT语句的简单过程,该存储过程返回所有学生学号、姓名、班级名称、所属系部。use teaching_systemgocreate proc selectstudentasselect ts.stuid,stuname,classname,deptnamefrom Tb_Student ts,Tb_Class tc,Tb_Dept t

3、dwhere ts.ClassId=tc.ClassId and ts.DeptId=td.DeptIdexec selectstudent(2)创建一个带输出参数的存储过程。要求得到某个系部最大年龄和最小年龄。use teaching_systemgocreate proc maxminage deptname char(20),maxage int output,minage int outputasselect maxage=MAX(YEAR(GETDATE()-year(birthday),minage=min(YEAR(GETDATE()-year(birthday)from Tb_

4、Student ts,Tb_Dept tdwhere ts.deptid=td.DeptId and deptname=deptname declare deptmaxage int,deptminage intexec maxminage 机电工程系,deptmaxage output,deptminage outputselect deptmaxage 最大年龄,deptminage 最小年龄(3)创建一个存储过程,以简化对课程表的数据添加工作,使得在执行该存储过程时,其参数值作为数据添加到表中。use teaching_systemgocreate proc insertcourse c

5、ourseid char(6),coursename varchar(64),deptid char(2),coursegrade real,lessontime smallint,courseoutline textasinsert into Tb_Coursevalues(courseid,coursename,deptid,coursegrade,lessontime,courseoutline)exec insertcourse c08009,电子商务编程,08,4,72,专业选修课(4)更新Tb_Class表中的数据TeacherId和ClassStuNumber字段的值,创建一个存

6、储过程实现这个功能。写出更新04网络1班信息的执行语句,修改其班主任编码为T08001,班级人数为40人。use teaching_systemgocreate proc updateclass classname varchar(32),teacherid char(6),classstunumber intasupdate Tb_Classset TeacherId=teacherid,ClassStuNumber=classstunumberwhere ClassName=classnameexec updateclass 04网络(1)班,t08002,45(5)创建存储过程,按照学生

7、学号查询课程成绩并完整显示学生姓名、课程名称、任课教师、课程平时成绩、期中成绩、期末成绩、总评成绩等信息。USE Teaching_SystemGO CREATE PROC StuGrade VarStuId CHAR(10) ASSELECT stuName AS 学生姓名,CourseName AS 课程名称,TeacherName AS 授课教师,CommonScore AS 平时成绩, MiddleScore AS 期中成绩, LastScore AS 期末成绩,TotalScore AS 课程总成绩FROM Tb_Grade TG,Tb_Teacher TE,Tb_CourseCla

8、ss TCC,Tb_Course TC,Tb_Student TSWHERE TG.STUID=TS.STUID AND TG.CourseClassId=TCC.CourseClassId AND TCC.TeacherId=TE.TeacherId AND TG.CourseId=TC.CourseId AND TG.StuId=VarStuIddeclare stuid char(10)exec StuGrade S040801101select stuid(6)根据学年,检索此学年需要留级的学生学号,姓名,所在系部(留级条件:取得的学分小于总学分的60%)USE Teaching_Sy

9、stemGO create PROC StuProcess TeachingYearId CHAR(4) AS SELECT TG.StuId ,StuName, Ts.deptId, SUM(Grade) 取得学分, SUM(TC.CourseGrade) 总学分FROM Tb_Student TS, Tb_Grade TG, Tb_CourseClass TCC, Tb_Course TC WHERE TG.CourseClassId=TCC.CourseClassId AND TG.CourseId=TC.CourseId AND TG.StuId=TS.StuId AND TCC.Te

10、achingYearId=TeachingYearId GROUP BY TG.StuId ,StuName,Ts.deptId HAVING SUM(Grade)ROUND(SUM(TC.CourseGrade)*0.6,0) EXEC StuProcess 2005(7)创建一个存储过程实现:检索某系各个课程班的教师评教得分,按照评教得分降序排列显示课程班编号,教师编号、姓名、评教平均分(评教表五项得分的平均值)。USE Teaching_SystemGO CREATE PROC TeacherEvaluation DeptId CHAR(2)ASSELECT TCC.CourseClas

11、sId,TeacherName,CourseName,AVG(TeachingAttitude+TeachingContent+TeachingMethod+SpareInstruction+Homework)/5) 评教得分FROM Tb_Teacher TT,Tb_TeachingEvaluation TE,Tb_Course TC,Tb_CourseClass TCCWHERE TT.TeacherId=TE.TeacherId AND TE.CourseClassId=TCC.CourseClassId AND TCC.CourseId=TC.CourseId AND TT.DeptI

12、d=DeptIdGROUP BY TCC.CourseClassId ,TeacherName, CourseNameorder by 评教得分 descEXEC TeacherEvaluation 08(8)创建一个存储过程,基于某个学生查询其已经选修的所有课程班信息,显示选课课程表编码、课程名称、教室地点、上课时间。USE Teaching_SystemGO CREATE PROC studentcourseclass stuname char(8)ASselect stuname,tcc.courseclassid,coursename,teachingplace,teachingtimefrom Tb_Student TS,Tb_CourseClass Tcc,Tb_Course TC,Tb_SelectCourse TSCwhere TS.StuId=tsc.StuId and tcc.CourseId=tc.CourseId and tsc.CourseClassId=tcc.CourseClassId and ts.StuName=stunamedeclare selectstuname char(8)exec studentcourseclass 任正非select selectstuname

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号