在学生课程数据库中完成: 编写一个存储过程,,为某个专业的每名学生添加某门课程的-1分成绩。(使用参数确定专业编号和课程编号)
时间: 2024-03-18 13:41:53 浏览: 62
实验1 学生课程成绩查询程序1
好的,下面是一个为某个专业的每名学生添加某门课程的-1分成绩的Oracle存储过程:
```sql
CREATE OR REPLACE PROCEDURE ADD_COURSE_SCORE(major_id IN NUMBER, course_id IN NUMBER)
IS
BEGIN
-- 遍历指定专业的所有学生,为每个学生添加-1分成绩
FOR student IN (SELECT * FROM students WHERE major = major_id) LOOP
INSERT INTO scores (student_id, course_id, score, credit_point) VALUES (student.student_id, course_id, -1, 0);
END LOOP;
END;
/
```
在这个存储过程中,我们首先使用 FOR 循环遍历指定专业的所有学生。然后,我们使用 INSERT INTO 语句向 scores 表中插入一条成绩记录,其中包括学生编号、课程编号、-1分成绩以及0积点(因为-1分成绩不会产生积点)。注意,在这个存储过程中,我们使用了参数来确定专业编号和课程编号。
阅读全文