创建完后调用该存储过程SQL语句创建一个存储过程ProcAvg,查询指定班级指定课程的平均分。班级号和课程名称由输入参数给定,计算出的平均分通过输出参数返回。若该存储过程已存在,则删除后重建。创建完后请调用该存储过程。
时间: 2023-07-16 08:16:25 浏览: 78
使用SQL语句创建存储过程
以下是创建存储过程 ProcAvg 的 SQL 语句:
```
IF OBJECT_ID('ProcAvg') IS NOT NULL
DROP PROCEDURE ProcAvg
GO
CREATE PROCEDURE ProcAvg
@ClassName NVARCHAR(50),
@CourseName NVARCHAR(50),
@AvgScore FLOAT OUTPUT
AS
BEGIN
SELECT @AvgScore = AVG(Score)
FROM Scores
WHERE Class = @ClassName AND Course = @CourseName
END
GO
```
该存储过程接收两个输入参数 @ClassName 和 @CourseName,以及一个输出参数 @AvgScore。其中 @ClassName 表示班级名称,@CourseName 表示课程名称,@AvgScore 表示计算得到的平均分。
存储过程首先判断是否已经存在,如果存在则先删除掉。然后查询 Scores 表中指定班级和课程的成绩,并计算平均分,将结果保存到 @AvgScore 中。
接下来是调用该存储过程的 SQL 语句:
```
DECLARE @AvgScore FLOAT
EXEC ProcAvg 'ClassA', 'Math', @AvgScore OUTPUT
SELECT @AvgScore
```
上面的 SQL 语句中,首先声明一个变量 @AvgScore,然后通过 EXEC 命令调用存储过程 ProcAvg,将班级名称和课程名称作为输入参数,将平均分作为输出参数保存到 @AvgScore 变量中。最后通过 SELECT 输出 @AvgScore 的值。
阅读全文