Eftersom du inte postade felet måste jag gissa. Min gissning är att problemet är det name
är inte en giltig identifierare i detta sammanhang. Du måste referera till antingen :new.name
eller :old.name
. :old.name
kommer att vara NULL
på en infogning medan :new.name
kommer att vara NULL
på en radering så jag antar att du vill ha något liknande
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;