新しい記録が作成されるたびに、チューターが特定の週に 15 時間の個別指導を蓄積しているかどうかを確認するトリガーを作成しようとしています。テーブルの各レコードは 1 時間に相当します。特定のチューターの 15 レコードは 15 時間を意味します。家庭教師のすべてのレコードをカウントするように取得できますが、挿入機能で挿入された日付に基づいて、1 週間以内のレコードをカウントする必要があります。
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;
光を当てることができる人には、事前に感謝します。