2010-10-28 66 views
1

我想使用由於插入記錄而觸發的觸發器來更新同一記錄。更新觸發觸發器的相同記錄

當我嘗試這樣做,用下面的代碼它給出了一個錯誤

DROP TRIGGER CONTROLLER_UPLOADER; 

CREATE OR REPLACE TRIGGER CONTROLLER_UPLOADER 

after insert ON CONTROLLER for each row 

begin 

    UPDATE CONTROLLER SET STATUS = 'STARTED' WHERE ID = (SELECT MAX(ID) FROM CONTROLLER); 

end; 

回答

3
DROP TRIGGER CONTROLLER_UPLOADER; 

CREATE OR REPLACE TRIGGER CONTROLLER_UPLOADER 

BEFORE insert ON CONTROLLER for each row 

begin 

    :NEW.STATUS := 'STARTED'; 

end; 

注意「之前的」不「之後」。