私はSQLが初めてで、トリガーを使用してSQLクエリをデバッグするのを誰かが手伝ってくれるかどうか疑問に思っていました.
私がやろうとしているのは、従業員のボーナスが、従業員が責任を負う在庫の総量の 0.1% を超えることを許可しないことです。誰でも私を助けてもらえますか?
私のコードは次のとおりです。
create or replace trigger check_employee_bonus
before update of Bonus or insert on employee
for each row
Declare
Max_Bonus products.Quantity%TYPE;
begin
select st.Quantity * 0.1
INTO MaxBonus
from product p, Stock st
Where
p.warehousenum = st.W_no
AND
p.p_no = st.p_no;
if :new.Bonus > Max_Bonus then
RAISE_APPLICATION_ERROR(-20512, 'sales rep’s yearly bonus may not exceed 0.1% . ');
end if;
end;