2016-10-29 8 views
0

を作成した私は、私はそれを実行したときに、私は次の警告を持っているが、放送が警告:トリガは、コンパイル・エラーと

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; 
/

を添加したときの映像のavaibilityの日付を更新するには、このトリガーを書いた:

Warning: Trigger created with compilation errors. 

私は、次のエラーを持っている:

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

誰かが私を助けて、何IAを教えてもらえます間違ってる?ありがとう。 lastCastが日付である場合

+0

'ショーのエラーにに変更する必要があります;' – Mat

+0

おかげで、私は、このコマンドを知らなかったしてください!私のエラーはSQLステートメント無視されて右括弧がありません – iAmoric

+0

'cast'は関数名です - キーワードや予約語を使ってオブジェクトに名前を付けるのは本当に悪い考えです。あなたはまた、テーブルの誤りを突然変異させることにもなります。あなたは本当に何をしようとしていますか、なぜですか?トリガーはおそらく適切な解決策ではありません。 –

答えて

1

最初のエラーが

lastCast + 14 day 

です。あなたは

lastCast + 14 

または

lastCast + interval '14' day 
+0

今、私は "diffusionDate:invalid identifier"というエラーが発生しました – iAmoric

+1

テーブルの 'VIDEO'の列' diffusionDate'は存在しません –

関連する問題