Aangezien je de fout niet hebt gepost, moet ik gissen. Ik vermoed dat het probleem is dat name
is in deze context geen geldige identificatie. U moet verwijzen naar :new.name
of :old.name
. :old.name
wordt NULL
op een insert terwijl :new.name
wordt NULL
op een verwijdering, dus ik neem aan dat je iets wilt als
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;