创建完后调用该存储过程SQL语句创建一个存储过程ProcAvg,查询指定班级指定课程的平均分。 班级号和课程名称由输入参数给定,计算出的平均分通过输出参数返回。若该存储过程已存在,则删除后重建。创建完后请调用该存储过程。
时间: 2023-12-06 19:39:42 浏览: 44
以下是创建存储过程 ProcAvg 的 SQL 语句:
```
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ProcAvg]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[ProcAvg]
GO
CREATE PROCEDURE [dbo].[ProcAvg]
@classId INT,
@courseName NVARCHAR(50),
@avgScore FLOAT OUTPUT
AS
BEGIN
SELECT @avgScore = AVG(score)
FROM Scores
WHERE classId = @classId AND courseName = @courseName
END
```
调用存储过程的 SQL 语句示例:
```
DECLARE @avgScore FLOAT
EXEC ProcAvg @classId = 1, @courseName = N'数学', @avgScore = @avgScore OUTPUT
SELECT @avgScore
```
以上代码中,@classId 和 @courseName 是输入参数,@avgScore 是输出参数,用来存储查询结果。在调用存储过程时需要指定输入参数的值,同时将 @avgScore 参数声明为 OUTPUT,用来接收存储过程返回的平均分。最后通过 SELECT 语句输出 @avgScore 的值。