Вы получаете сообщение об ошибке, потому что это недопустимый синтаксис Oracle SQL. Вместо того, чтобы гадать или придумывать что-то, вам следует обратиться к документации Oracle , которая является исчерпывающей, онлайн и бесплатной. Мы можем легко решить большинство ошибок компилятора, сравнив наш код с приведенными примерами.
Но как только вы исправите оператор UPDATE, ваш триггер выдаст ошибку изменяющейся таблицы , потому что вы пытаетесь для выбора из TRIP в триггере, принадлежащем TRIP, и это не разрешено.
Самый простой способ сделать это:
create or replace trigger UpdateTTM
after insert on trip
for each row
begin
update driver
set totalTripMade = nvl(totalTripMade,0) + 1
where driver.Lic# = :new.Lic#;
end UpdateTTM;
/
Предполагается, что запись DRIVER существует до того, как запись TRIP будет создан. Если это не так, вам следует устранить дыру в вашей модели данных, прежде чем продолжить.
Кроме того, производительность не будет масштабироваться, и у вас по-прежнему будут проблемы с ее запуском в многопользовательских средах. Но это только проблемы в реальном мире, и этот вопрос попахивает домашним заданием.