0
create trigger calculation after insert on employee 
for each row
begin
if :new.updated_sal is null
then
update employee set updated_sal= (10/100)* salary
where id=:new.id;
end if;
end;

我想在员工表上创建一个触发器,每当在同一个表中插入一条新记录时,应该计算工资列中工资的 10% 并将其放入另一列 updated_sal 中。如果我尝试插入一条新记录,则表明该表已发生变异等

4

2 回答 2

0

您需要在插入触发器之前使用,并使用 :New.updated_sal:= :new.salary * somevalue 来分配薪水。

于 2021-12-06T22:23:54.497 回答
0

这只是:new您需要的伪记录:

create trigger calculation 
  after insert on employee 
  for each row
begin
  if :new.updated_sal is null then
     :new.updated_sal := (10/100) * :new.salary; 
  end if;
end;
于 2021-12-06T21:02:51.770 回答