Protože jste chybu nenapsal, musím hádat. Hádám, že problém je v tom name
není v tomto kontextu platným identifikátorem. Musíte odkazovat buď na :new.name
nebo :old.name
. :old.name
bude NULL
na vložce while :new.name
bude NULL
na smazání, takže předpokládám, že chcete něco jako
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;