我正在尝试创建一个触发器,该触发器将在每次创建新记录时检查导师是否在特定周累积了 15 小时的辅导。表中的每条记录等于一个小时。特定导师的 15 条记录意味着 15 小时。我可以让它计算导师的所有记录,但它应该根据插入函数插入的日期计算一周内的记录。
Create or replace Trigger Tutor_15hr_Rule
Before Insert on Meeting
For each row
Declare
HoursWorked binary_integer;
begin
select count(TutID)
into HoursWorked
from Meeting
where TutID = :new.TutID AND MeetDate Next_Day (:new.MeetDate, 'Saturday');
DBMS_OUTPUT.PUT_LINE(HoursWorked);
if (HoursWorked + 1) > 15 then
Raise_application_Error(-20002, 'exceeded no of hours');
end if;
end;
/
show error;
预先感谢任何可以阐明的人。