plsqldeveloper: обновление записей в таблице, если условие о записях выполняется в другой таблице

я работаю над этой проблемой уже несколько часов, но не могу освоиться.
у меня есть довольно большой проект на эту тему в школе, поэтому я привел здесь простой пример. пожалуйста, помогите мне понять лучший подход здесь:

для студентов у меня есть таблица «студент» с информацией о студентах, включая student_id и student_birthdate.

для курсов у меня есть таблица «Course» с course_id, course_name и так далее.

для оценок студентов в каждом курсе у меня есть таблица «CourseStudent», содержащая: student_id, course_id и grade, которая является оценкой студента в этом курсе.

мне нужно обновить оценки (в таблице» CourseStudent»), как это:
любой студент, который родился после 1990 года, я хочу добавить 3 балла к его оценкам, но только его оценки, которые выше 50.

я пробовал курсоры, циклы и функции, но когда я делаю курсоры, обновляется только курсор, а не таблицы. когда я пытаюсь сделать цикл и обновить, я получаю обновления несколько раз.
я не могу обновить WHERE-boolean function- (которые принимают student_id и возвращают, если он должен быть обновлен). потому что язык этого не позволяет.

любая помощь будет оценена
овации 🙂

1 ответ