创建行级触发器,计算每个新插入的员工的总薪水

时间:2015-12-03 19:45:55

标签: sql oracle plsql triggers

我需要创建一个行级触发器来计算每个新插入的员工的总薪水 - 在插入之前和更新薪水或奖励字段之前触发。我还需要使用:NEW字段来存储数据。

到目前为止,我有:我真的无法弄清楚如何显示总薪水,我相信我设定的开始是正确的,只是不确定其余时间后的其余时间

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);

1 个答案:

答案 0 :(得分:0)

未经测试,但我相信下面应该有效

CREATE OR REPLACE TRIGGER 
TRG_Step3_TotSalary
BEFORE UPDATE OF salary, bonus ON Lab12_Employees
FOR EACH ROW 
BEGIN 
  :NEW.TotalSalary := :NEW.Salary + bonus
  DBMS_OUTPUT.PUT_LINE('New Salary =' || (:NEW.TotalSalary);
END