创建一个存储过程spNumMin,输入学号后,将该生姓名、最低分存入输出参数内
时间: 2023-06-11 22:07:52 浏览: 84
好的,以下是存储过程spNumMin的代码:
```
CREATE PROCEDURE spNumMin
@studentID int,
@name varchar(50) OUTPUT,
@minScore int OUTPUT
AS
BEGIN
SELECT @name = name, @minScore = MIN(score)
FROM students
WHERE id = @studentID
GROUP BY name
-- 如果该学生不存在或者未参加过考试,则将输出参数设置为NULL
IF @name IS NULL OR @minScore IS NULL
SET @name = NULL, @minScore = NULL
END
```
使用方法:
1. 执行以上代码创建存储过程;
2. 调用存储过程时,需传入一个学生的ID作为输入参数,以及两个输出参数@name和@minScore;
3. 存储过程会在students表中查找该学生的姓名和最低分,然后将它们存入输出参数中;
4. 如果该学生不存在或者未参加过考试,则将输出参数设置为NULL。
示例调用代码:
```
DECLARE @name varchar(50), @minScore int
EXEC spNumMin 1001, @name OUTPUT, @minScore OUTPUT
SELECT @name AS name, @minScore AS minScore
```
这个示例会查询学号为1001的学生的姓名和最低分,并将它们存入@name和@minScore输出参数中。如果该学生不存在或者未参加过考试,则输出参数将为NULL。
阅读全文