嘿,我想阻止插入新記錄,如果工資總額大於1000,所以我試圖用觸發插入扳機甲骨文
CREATE OR REPLACE TRIGGER totalsal
BEFORE INSERT OR UPDATE
ON saltable
FOR EACH ROW
DECLARE
CURSOR sumsalary IS
SELECT SUM(sal) AS sum_salary FROM saltable;
total NUMBER;
BEGIN
OPEN sumsalary;
FETCH sumsalary INTO total;
DBMS_OUTPUT.PUT_LINE('value is ');
DBMS_OUTPUT.PUT_LINE(total);
CLOSE sumsalary;
IF (total < 1000)
THEN
DBMS_OUTPUT.PUT_LINE('in range');
:new.sal := :new.sal;
ELSE
DBMS_OUTPUT.PUT_LINE('exceed limit');
END IF;
END;
/
來解決這個問題,你可以在這裏看到我用遊標得到總和然後獲取價值,如果比較的條件,但它不完美的工作!即使總額超出範圍,它也會插入新紀錄
任何人都知道如何解決這樣的問題。
我注意到你發佈了13個問題,從未接受過答案。你從來沒有得到一個好的答案,或者還有另一個原因,你爲什麼永遠不會接受答案? – Aleksej