警告:使用编译错误创建触发器

时间:2016-10-29 08:36:11

标签: sql oracle triggers

我写了这个触发器,以便在添加广播时更新视频的可用性日期

CREATE OR REPLACE TRIGGER update_avaibility
AFTER INSERT ON CAST FOR EACH ROW
DECLARE
    lastCast DATE;
BEGIN
    SELECT MAX(diffusionDate) 
      INTO lastCast 
      FROM CAST 
     WHERE idVideo = :NEW.idVideo;

    UPDATE VIDEO 
       SET diffusionDate = (lastCast + 14 day) 
     WHERE idVideo = :NEW.idVideo;
END;
/

然而,当我运行它时,我有以下警告:

Warning: Trigger created with compilation errors.

我有以下错误:

LINE/COL   ERROR
---------- -------------------------------------
5/2        SQL Statement ignored
5/61       ORA-00907: missing right parenthesis

有人可以帮助我并告诉我我做错了什么吗?感谢。

1 个答案:

答案 0 :(得分:1)

第一个错误是

lastCast + 14 day

如果lastCast是日期。你应该改为

lastCast + 14 

lastCast + interval '14' day