2012-02-21 4 views
0

スキーマ:ASSIGNMENT(チケット番号、ハイテクpplSoft、割り当てられた日付、ステータス)ステータスELDが列挙され、可能性があり :割り当てられ、進行中、委任、成功閉じ、またはOracleトリガが異なるテーブルを更新するための適切な構文は何ですか?

1を失敗した閉じた)は、トリガーを書きますASSIGNMENTテーブルのステータス属性 が 'closed successful'または 'closed unsuccessful'に変更されるたびに、 はTICKETSテーブルの日付閉鎖属性の値を現在の の日付に設定することをClosedTicketと呼びます。

私はこれをこのように始めますか? where句でstatus = 'closed successful'を使用するOR status = 'closed unsuccessful'? (私はTICKETSの主キー列の名前が何であるかを推測しているが)

はこのような何かが動作するはずCREATE OR

答えて

2

に更新した後TRIGGER ClosedTicket をREPLACE。

CREATE OR REPLACE TRIGGER ClosedTicket 
    AFTER UPDATE ON assignment 
    FOR EACH ROW 
BEGIN 
    IF(:new.status IN ('closed successful', 'closed unsuccessful')) 
    THEN 
    UPDATE tickets t 
     SET date_closed = sysdate 
    WHERE t.ticket_id = :new.ticket; 
    END IF; 
END; 
関連する問題