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;