2012-02-21 44 views
0

架構:分配(票號,高科技pplSoft,日期分配狀態) 如果狀態ELD是一個枚舉,可以:分配,在進步,委託,關閉成功,或關閉不成功Oracle觸發器更新不同表的正確語法是什麼?

1)寫觸發稱爲ClosedTicket,只要ASSIGNMENT表的狀態屬性 更改爲「成功關閉」或「關閉不成功」, 就會將TICKETS表的日期關閉屬性的值設置爲當前的 日期。

我開始這樣嗎?並在where子句中使用狀態='關閉成功'或狀態='關閉不成功'?

創建或

回答

2

像這樣的東西應該工作REPLACE TRIGGER ClosedTicket 更新後(雖然我猜什麼的主鍵列在TICKETS名稱是)。

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;