Тъй като не сте публикували грешката, трябва да позная. Предполагам, че проблемът е това name
не е валиден идентификатор в този контекст. Трябва да посочите или :new.name
или :old.name
. :old.name
ще бъде NULL
на вмъкване докато :new.name
ще бъде NULL
при изтриване, така че предполагам, че искате нещо като
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;