创建一个查询存储过程,过程名称为P_CHX。参数是学号,输出信息是指定学号所对应的姓名、课程名称、成绩。运行时若没有指定学号,则提示请输入学号,若学号不存在则提示学号不存在;
时间: 2023-12-10 16:42:39 浏览: 95
数据库管理与应用 8.2.3 创建带有输入、输出参数的存储过程.pdf
以下是一个示例的SQL Server存储过程P_CHX的实现:
```sql
CREATE PROCEDURE P_CHX
@student_id INT = NULL
AS
BEGIN
-- 如果没有指定学号,则提示用户输入学号
IF @student_id IS NULL
BEGIN
PRINT '请输入学号'
RETURN
END
-- 查询学生信息
DECLARE @student_name VARCHAR(50)
SELECT @student_name = student_name
FROM students
WHERE student_id = @student_id
-- 如果学号不存在,则提示用户
IF @student_name IS NULL
BEGIN
PRINT '学号不存在'
RETURN
END
-- 查询学生的课程成绩
SELECT @student_name AS 姓名, courses.course_name AS 课程名称, scores.score AS 成绩
FROM scores
JOIN courses ON courses.course_id = scores.course_id
WHERE scores.student_id = @student_id
END
```
在这个存储过程中,我们首先检查是否指定了学号参数。如果没有,我们会打印一条消息并退出。然后,我们使用提供的学号查询学生姓名。如果学号不存在,则打印另一条消息并退出。最后,我们查询该学生的所有课程成绩并将结果作为输出返回。
阅读全文