Como no publicaste el error, tengo que adivinar. Supongo que el problema es que name
no es un identificador válido en este contexto. Debe hacer referencia a :new.name
o :old.name
. :old.name
será NULL
en una inserción while :new.name
será NULL
en una eliminación, así que asumo que quieres algo como
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;