pl/sql-create триггер в таблице - всякий раз, когда новая запись вставляется в ту же таблицу, должен обновляться другой столбец таблицы
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. Если я пытаюсь вставить новую запись, это показывает, что таблица видоизменена и т. Д.
2 ответа
Вам нужно использовать триггер перед вставкой и использовать :New.updated_sal:= :new.salary * somevalue, чтобы назначить зарплату.
Это просто
: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;