【发布时间】:2015-12-03 19:45:54
【问题描述】:
我需要创建一个行级触发器来计算每个新插入的员工的总薪水 - 在插入之前和更新薪水或奖金字段之前触发。我还需要使用 :NEW 字段来存储数据。
到目前为止我有:我真的不知道如何显示总工资,我相信我设置了正确的开始,只是不确定 FOR EACH ROW WHEN 之后的其余部分
CREATE OR REPLACE TRIGGER
TRG_Step3_TotSalary
BEFORE UPDATE OF salary, bonus ON Lab12_Employees
FOR EACH ROW WHEN (Salary + Bonus = :NEW.TotalSalary);
BEGIN
INSERT :NEW.Salary + bonus
DBMS_OUTPUT.PUT_LINE('New Salary =' || (:NEW.TotalSalary);
【问题讨论】:
-
为什么你需要
WHEN你不需要更新任何薪水或奖金的变化吗?所以只需FOR EACH ROW -
嗯,是的,我可以进行更新我只是担心更新更新 - 并获得递归触发器