0
我希望如此,如果一個會員未付餘額超過罰款50 在底部,我在這個問題2次的嘗試沒有租金被允許創建觸發器成員租房。但是,當我將數據插入麥克 - 維克,它不會提高應用程序錯誤。邁克維克斯未付餘額罰款是55美元,所以它應該絆旗。
INSERT INTO Transaction
VALUES ('6','Mem101','V104','C1', '14-Nov-14', '16-Nov-14', 'R101');
我能做些什麼來解決這個問題?謝謝!
--Trigger #3
--Attempt #1
CREATE or Replace Trigger Unpaid_Balance_Rule
BEFORE INSERT ON Member
FOR EACH ROW
BEGIN
IF :new.Unpaid_Bal > 50 THEN
RAISE_APPLICATION_ERROR(-20003, 'Balances exceeds 50 dollars, please pay dues before renting');
END IF;
END;
/
show errors;
--Attempt #2
Create or Replace Trigger UnpaidBal_50_Rule
Before insert on Member
For Each Row
Begin
Select Mem_num into OverBalance from Member where unpaid_bal > 50;
IF (:new.Mem_num = OverBalance)
THEN raise_application_error (-20003, 'Balances exceeds 50 dollars, please pay dues before renting');
END IF;
end;
/
show error;
你的觸發器在'Member'表,但你插入的'Transaction'表。所以這些插入將永遠不會「觸發」你的規則檢查。例如「不要讓通過此門的人」「哦,好吧,我就通過這個窗口」爬 – 2014-11-24 20:42:00
你觸發#1作品fine.Do創建表,創建觸發器,然後插入數據?我的意思是上面貼的順序是創建表 - >插入數據 - >創建觸發器這是不對的。 – Shankar 2014-11-24 21:42:35