No puedes hacer operaciones de UPDATE/INSERT/DLETE contra la misma tabla que tiene el TRIGGER.
Lo que debes hacer es recordar que
ya estás posicionado en el registro a actualizar, porlo que no hay ninguna consutla que hacer en el. Hay que realizar la operación.
Probemos:
Código SQL:
Ver originalCREATE OR REPLACE TRIGGER calculo
BEFORE UPDATE horasHechas ON alumnos_tab
BEGIN
:NEW.horasRestantes := (:OLD.horasRestantes - :OLD.horasHechas);
END
\