2016-07-24 117 views
-1

我試圖創建一個觸發器,它檢查每行的數量更新之前,如果數量低於2創建觸發器,以限制行數爲每個員工

CREATE OR REPLACE TRIGGER quantcheck 
BEFORE UPDATE ON equipment 
FOR EACH ROW 
WHEN (old.quantityavailable >= 2) 
BEGIN 
    IF :new.Quantityavailable < 2 
     THEN RAISE_APPLICATION_ERROR (-20001, ' Quantity is below 2'); 
    END IF; 
END Quantcheck; 
/

的顯示錯誤消息觸發器正在創建,但是當我試圖驗證它或檢查它是否工作時,我收到錯誤並且觸發器未正確運行。

+1

你有什麼問題嗎? – trincot

+0

正在創建觸發器,但是當我試圖驗證它或檢查它是否正常工作時,我得到一個錯誤並且觸發器未正確運行 – tontoshame

+0

錯誤消息ORA-04098 – tontoshame

回答

0

我認爲你的錯誤是你使用old.quantityavailable,而不是:old.quantityavailable。 我也不知道WHEN是否被允許。

+0

當然是在允許的情況下。觸發器是絕對正確的。 – Mottor

+0

如果觸發器是正確的,就不會有錯誤。 ;-) – Tenzin

+0

首先閱讀我的評論(關於問題)。你可以試試它。 – Mottor