私は2つのテーブルを持っていCOURSE
ますOFFERING
. それらの列は次のとおりです。
COURSE (
courseId,
title,
cost,
duration
)
と
OFFERING (
offeringID,
instructor,
startDate,
endDate,
courseId,
locationId
).
期間が 5 日間のコース (表の期間列から) が 12 月 (表の列COURSE
から) に提供されないようにするトリガーを構成したいと考えています。次のSQLクエリを思いつきました:startDate
OFFERING
CREATE OR REPLACE TRIGGER checkDuration
BEFORE INSERT OR UPDATE ON
(course c JOIN offering o
ON
c.courseId = o.courseId)
FOR EACH ROW
BEGIN
IF ((to_char(:new.startDate, 'fmMONTH') = 'DECEMBER') AND duration = 5)
THEN
raise_application_error(-20001, 'Courses of five days duration cannot be run in December');
END IF;
END;
トリガーは作成されましたが、エラーがあります。