Назначение вашего триггера не имеет большого смысла, поскольку он выводит только некоторую производную информацию на стандартный вывод.
Однако вы, кажется, слишком усложняете это. Чтобы получить доступ к имени сотрудника, вам не нужно запрашивать таблицу: эта информация доступна в псевдокорде :new
. Это значительно упрощает ваш код:
create or replace trigger displayEmp
before update of salary on employees
for each row
begin
dbms_output.put_line(:new.first_name, || ' ' || :new.last_name);
end;
Обратите внимание, что я изменил триггер, поэтому он срабатывает только при обновлении salary
: before update of salary on employees
.