plsqldeveloper:如果在另一个表中满足关于记录的条件,则更新表中的记录

时间:2016-05-23 11:24:44

标签: plsqldeveloper

我现在已经解决了这个问题好几个小时了,但却无法解决这个问题。 我在学校有一个关于这个主题的相当大的项目,所以我在这里提供了一个简单的例子。请帮助我理解这里最好的方法:

对于学生我有一张桌子"学生"有关学生的信息,包括student_id和student_birthdate。

对于课程,我有一张桌子"课程"使用course_id,course_name等。

对于每门课程的学生成绩,我有一个" CourseStudent" table,包含:student_id,course_id和grade,这是本课程中学生的成绩。

我需要更新成绩(在" CourseStudent"表格中),如下所示: 任何1990年以后出生的学生,我想在他的成绩上加3分,但只有他的成绩超过50分。

我尝试了游标,循环和函数,但是当我做游标时,只有游标得到更新,而不是表格。当我尝试循环和更新时,我多次获得更新。 我无法更新WHERE -boolean函数 - (接受student_id并返回,如果它应该更新)。因为语言不会允许它。

任何帮助将不胜感激 欢呼: - )

1 个答案:

答案 0 :(得分:0)

您是在更改后放置COMMIT语句吗?