I have these two tables:
USERS(username, role_id)
COMMISSION_RATES(username, commission_rate)
users.username
is the primary ke
WHEN condition must be in the definition part, not in the body. They can only by used for row trigger.
create or replace
TRIGGER SETCOMISSIONRATE
AFTER INSERT ON USERS
FOR EACH ROW
WHEN (NEW.role_id = 2)
BEGIN
INSERT INTO COMISSION_RATE
(username,
comission_rate)
VALUES (
:NEW.username,
0)
END;
It should go like this:
CREATE OR REPLACE TRIGGER SETCOMISSIONRATE
AFTER INSERT ON USERS FOR EACH ROW
WHEN (new.role_id = 2)
BEGIN
INSERT INTO COMISSION_RATE (username, comission_rate)
VALUES (:new.username, 0);
END;