I Oracles triggersyntaks omtales den nyligt indsatte post med :new
, ikke new
(læg mærke til tyktarmen). Derudover SET
er en del af en opdateringssætning, ikke en måde at indstille feltværdier på - disse udføres ved simple tildelinger, men bemærk, at disse udføres med :=
i stedet for =
.
Så din trigger bør være:
CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;