我正在尝试创建一个触发器,以检查我要插入的日期是否大于表中每个学生的日期。该控件只需要位于ID和DATE。
STUDENT_EXAMS
id_student subject mark date_exam
1 Chemistry 6 'May-05-2020'
2 Maths 7 'May-01-2020'
合法插入
insert into STUDENT_EXAMS (id_student, subject, mark, date_exam)
values (1, 'History', 8, 'May-06-2020');
insert into STUDENT_EXAMS (id_student, subject, mark, date_exam)
values (2, 'Biology', 8, 'May-05-2020');
ILLEGITIMATE INSERT
insert into STUDENT_EXAMS (id_student, subject, mark, date_exam)
values (1, 'History', 8, 'May-04-2020');
insert into STUDENT_EXAMS (id_student, subject, mark, date_exam)
values (2, 'Biology', 10, 'Apr-30-2020');
这是我尝试创建的触发器,但是它不起作用,我也不知道如何在每个ID_STUDENT上插入控件。
create or replace trigger check_date
before insert on STUDENT_EXAM
for each row
begin
if (:new.date_exam > :old.date_exam) then
insert into STUDENT_EXAM (id_student, subject, mark, date_exam)
values (:new.id_student, :new.subject, :new.mark, :new.date_exam);
end if;
end;