创建一个从sc表查询某一门课程考试成绩平均分的存储过程proc_2。 在以上存储过程中,要查询的课程号通过执行语句中的输入参数cno_tmp传递给存储过程, avg_degree作为输出参数用来存放查询得到的平均分。执行此存储过程,观察执行结果。
时间: 2023-12-10 12:37:06 浏览: 66
查看学生各课程考试成绩平均分.sql
以下是创建存储过程proc_2的SQL语句:
```
CREATE PROCEDURE proc_2
@cno_tmp CHAR(4),
@avg_degree FLOAT OUTPUT
AS
BEGIN
SELECT @avg_degree = AVG(degree)
FROM sc
WHERE cno = @cno_tmp
END
```
在以上存储过程中,我们首先定义了两个参数:@cno_tmp 用来传递查询的课程号,@avg_degree 用来存放查询得到的平均分。然后,在存储过程中,我们使用 SELECT 语句从 sc 表中查询对应课程号的成绩平均分,并将结果赋值给 @avg_degree 参数。
要执行此存储过程,可以使用以下 SQL 语句:
```
DECLARE @avg FLOAT
EXEC proc_2 'C001', @avg OUTPUT
SELECT @avg
```
在上面的 SQL 语句中,我们首先声明一个变量 @avg 来接收存储过程输出的平均分,然后使用 EXECUTE 命令执行存储过程 proc_2,并将查询的课程号传递给 @cno_tmp 参数。最后,我们使用 SELECT 语句输出 @avg 变量的值,即为查询结果。
请注意,这里的课程号 'C001' 是一个示例,你需要根据实际情况替换为你要查询的课程号。
阅读全文