创建一存储过程:根据学生学号查询学生所选修的课程及其成绩,学号作为参数输入。
时间: 2024-02-24 15:55:41 浏览: 33
好的,以下是根据学生学号查询学生所选修的课程及其成绩的存储过程代码:
```
CREATE PROCEDURE getStudentCourses (
IN studentId INT
)
BEGIN
SELECT course_name, score
FROM student_courses
WHERE student_id = studentId;
END;
```
这个存储过程接收一个参数 `studentId`,然后从 `student_courses` 表中查询学号为 `studentId` 的学生所选修的课程及其成绩。你可以通过调用这个存储过程并传入学生的学号来获取结果。
相关问题
opengauss创建一存储过程,根据学生学号,查询该学生所有选修课的成绩
好的,下面是一个示例存储过程,它可以根据学生学号查询该学生所有选修课的成绩:
```
CREATE OR REPLACE PROCEDURE get_student_scores(student_id INTEGER)
AS $$
DECLARE
course_id INTEGER;
course_name VARCHAR(100);
score INTEGER;
BEGIN
FOR course_id, course_name, score IN
SELECT c.id, c.name, s.score
FROM courses c
JOIN student_courses s ON c.id = s.course_id
WHERE s.student_id = student_id
LOOP
RAISE NOTICE 'Course % (%): %', course_name, course_id, score;
END LOOP;
END;
$$ LANGUAGE plpgsql;
```
在上面的示例中,我们创建了一个名为`get_student_scores`的存储过程,它接受一个学生学号作为参数。存储过程会查询`student_courses`表,找到所有该学生选修的课程,然后输出每门课程的名称、课程号和成绩。
要执行这个存储过程,只需要调用它的名称并传入学生学号:
```
CALL get_student_scores(123);
```
其中`123`是学生的学号。执行结果会在控制台中输出。如果你想将结果保存到文件或者其他地方,可以在存储过程中添加相关的逻辑。
mysql创建一个存储过程.根据学生学号查询某学生选修了的课程的名称及成绩,以学号为参数输入
好的,以下是创建存储过程的 SQL 代码:
```
CREATE PROCEDURE getCourseAndScore(IN stu_id INT)
BEGIN
SELECT course_name, score
FROM course c
INNER JOIN score s ON c.course_id = s.course_id
WHERE s.stu_id = stu_id;
END;
```
这个存储过程的作用是根据输入的学号 `stu_id`,查询该学生选修的课程名称和成绩。具体实现是通过联表查询,将 `course` 表和 `score` 表连接起来,然后筛选出 `stu_id` 对应的记录,返回查询结果。