Я работаю над назначением, которое выполняет следующие действия.
создает триггер PL / SQL с именем STAFF_TRIGGER в таблице STAFF.Этот триггер будет выполняться после каждой вставки или обновления.a. Для вставок этот триггер должен поместить новое значение STAFF.STAFF_ID, пользователя в MOD_USER и системную дату в MOD_TIMESTAMP для записи создания данных в STAFF_LOG.Для обновлений этот триггер должен поместить предыдущие значения STAFF в соответствующий столбец STAFF_LOG, а также записать MOD_USER и MOD_TIMESTAMP.
Пока это то, что у меня есть, я использую экспресс-базу данных Oracleиздание.
create trigger staff_trigger
after insert or update on staff
for each row
begin
if inserting then
insert into staff_log (staff_id, mod_user, mod_timestamp)
values(new.employee_id, new.last_name, sysdate);
end if;
if updating then
insert into staff_log (mod_user, mod_timestamp)
values(new.last_name, sysdate);
end if;
end;
Когда я выполняю код, я получаю сообщение об ошибке ниже.
ERROR at line 9: PL/SQL: SQL Statement ignored7. if inserting then
8. insert into staff_log (staff_id, mod_user, mod_timestamp)
9. values(new.employee_id, new.last_name, sysdate);
10. end if;
Любые идеи относительно того, что может быть причиной этого?