Oracle
 sql >> Database >  >> RDS >> Oracle

Trigger che inserisce una riga nella tabella di registro all'inserimento o all'eliminazione in una tabella delle persone compilata con errori

Dal momento che non hai pubblicato l'errore, devo indovinare. La mia ipotesi è che il problema sia quel name non è un identificatore valido in questo contesto. Devi fare riferimento a :new.name o :old.name . :old.name sarà NULL su un inserto mentre :new.name sarà NULL su un'eliminazione, quindi suppongo che tu voglia qualcosa di simile

CREATE OR REPLACE TRIGGER add_del
  BEFORE INSERT OR DELETE ON persons
  FOR EACH ROW
BEGIN
  IF INSERTING THEN
    INSERT INTO logs (who, what) VALUES (:new.name, 'Insert into persons');
  ELSE
    INSERT INTO logs (who, what) VALUES (:old.name, 'Delete from persons');
  END IF;
END;