I Oracles triggersyntax hänvisas till den nyligen infogade posten med :new
, inte new
(lägg märke till kolon). Dessutom SET
är en del av en uppdateringssats, inte ett sätt att ställa in fältvärden - de görs genom enkla tilldelningar, men observera att dessa görs med :=
istället för =
.
Så din utlösare bör vara:
CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;