Решение ошибки при выполнении триггера для отношения - PullRequest
1 голос
/ 11 апреля 2020

Я только что создал триггер для таблицы сотрудников, так как после обновления новое значение зарплаты должно быть большим или аналогичным старому окладу.

с ошибкой при запуске триггера с указанием кода триггера

  create trigger fix_salary
  after update on employee
  for each row
  when(old.salary>new.salary)
  begin
  update employee 
  set salary=:old.salary;
  end;
  /

после этого я добавил это в текстовый файл и сохранил его с расширением .pl sql. затем я добавил к cmd как: - @ "путь к fl ie";

и когда я поставил команду обновления как: -

update employee set salary=1000 where eid=1;

после этого эта ошибка отображается :

update employee set salary=500 where eid=1
        *
ERROR at line 1:
ORA-04091: table SYSTEM.EMPLOYEE is mutating, trigger/function may not see it
ORA-06512: at "SYSTEM.FIX_SALARY", line 2
ORA-04088: error during execution of trigger 'SYSTEM.FIX_SALARY'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...