-- 建立如下的存储过程(基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值): -- 1.按要求设计完成如下功能的存储过程。 -- (1)查询平均分数在x到y范围内的学生信息。 该存储过程有两个参数:要求查询的学生信息包括学号、姓名、院系名称和平均成绩。 CREATE PROCEDURE quire_stu_between @x INT, @y INT AS BEGIN SELECT 学生表.学号, 学生表.姓名, 院系表.名称, 学生表.平均成绩 FROM 学生表 JOIN 院系表 ON 学生表.院系编号 = 院系表.院系 WHERE 学生表.平均成绩 BETWEEN @x AND @y; END; -- (2)更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩。 CREATE PROCEDURE update_stu_grade @学号 VARCHAR(8), @课程编号 VARCHAR(8), @考试成绩 SMALLINT AS BEGIN UPDATE 选课表 SET 成绩=@考试成绩 WHERE 学号=@学号 AND 课程编号=@课程编号; SELECT 平均成绩 FROM 学生表 WHERE 学号=@学号; END; -- 2.在客户端以存储过程和输入SQL语句的方式分别执行相同的查询或操作,比较使用和不使用存储过程的区别。 -- 使用存储过程 EXEC quire_stu_between @x=85,@y=90; -- 使用SQL查询 SELECT 学生表.学号, 学生表.姓名, 院系表.名称, 学生表.平均成绩 FROM 学生表 JOIN 院系表 ON 学生表.院系编号 = 院系表.院系 WHERE 学生表.平均成绩 BETWEEN 85 AND 90;