sql >> Base de Datos >  >> RDS >> Oracle

Error de activación de SQL:activación no válida

Puedes usar show errors después de ver compiled with warnings , o consulta los user_errors view para ver qué está mal más tarde.

Una cosa obvia es que no ha agregado el prefijo old referencia con dos puntos:

CREATE or REPLACE TRIGGER BeforeUpdateReport 
BEFORE 
UPDATE ON REPORT 
FOR EACH ROW 
Begin 
   INSERT INTO reportUpdate 
   Values(:old.ID,sysdate); 
END;
/

También es mejor especificar los campos de la tabla de destino en el insert declaración:

   INSERT INTO reportUpdate (report_id, updatedate)
   Values(:old.ID,sysdate); 

Pero tienes update_date definido en su secuencia de comandos de creación de tablas como number(32) , lo cual no tiene sentido. Como señaló @realspirituals, debería ser:

CREATE TABLE reportUpdate (report_id number, updatedate date);