2017-01-05 9 views
-2

私を助けてくれますか? 2つの日付と1つの数値列を比較し、それに応じて文字列単語に挿入するトリガーを作成する必要があります。 私はそれがどのように見えるべきか考えていますが、私のスクリプトでは何か間違っています。 これは私の例です ありがとうございます。Oracle、更新前のトリガー

create trigger booking_trigger 
before insert on booking 
for each row 
WHEN (new.booking_id IS NULL) 
    begin 
    if sys_date > paid_date and ammount>0 =:new.'Paid' from dual; 
    elsif sys_date > paid_date and ammount=0 =:new.'Not paid' from dual; 
    elsif sys_date < paid_date and ammount=0 =:new.'Waiting'; 
    else :=new.'Broken' 
    end if; 
end 
/
+0

についての詳細を読むことができます。人々があなたを助けるために実装する必要があるテーブル構造とロジックを投稿してください。また、目的の振る舞いを持ついくつかのサンプルデータは、質問を明確にし、人々が投稿する前にサンプルとテストコードを構築するのに役立ちます – Aleksej

答えて

1

まず、IF THEN ELSIFから始めましょう。明らかにキーワードthenがありません。

更新する列はどれですか?それがa_columnだとしましょう。次のような場合、あなたは'Paid'にその値を設定します。

:new.a_column := 'Paid'; 

あなたのコードは、いくつかの問題があり、トリガーin the documentation

関連する問題