实验十四
This commit is contained in:
@@ -36,6 +36,8 @@
|
|||||||
|
|
||||||
- [实验十三](实验十三.sql)
|
- [实验十三](实验十三.sql)
|
||||||
|
|
||||||
|
- [实验十四](实验十四.sql)
|
||||||
|
|
||||||
### 课后作业📖
|
### 课后作业📖
|
||||||
|
|
||||||
[课后作业](课后作业/)
|
[课后作业](课后作业/)
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
-- 建立如下的存储过程(基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值):
|
||||||
|
-- 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;
|
||||||
Reference in New Issue
Block a user