我正在尝试创建一个触发器,如果Prog_Type
输入的日期是 ,它将检查输入的日期是否在范围内'FILM'
,但是每次运行语句时我都会收到编译错误。
错误代码是 00103,“遇到一个 ; 当预期......”
然后是许多标点符号的列表。通过研究问题,我看到了对DECLARE
语句的引用,但是我不确定是否需要声明是否在Prog_Type
中创建Program_Table
,并且我在触发器中引用了该表。
CREATE OR REPLACE TRIGGER Prog_Made_Limits
BEFORE INSERT OR UPDATE OF Prog_Made ON Program_Table
FOR EACH ROW
WHEN (NEW.Prog_Type <> 'FILM')
BEGIN
IF (:new.Prog_Made < date '1864-12-31' or
:new.Prog_Made > sysdate );
THEN
RAISE_APPLICATION_ERROR( -20001, 'Program Made date must be later than Dec 31st 1864, and earlier than today, if FILM is inserted');
END IF;
END Prog_Made_Limits;
/