Trong cú pháp kích hoạt của Oracle, bản ghi mới được chèn vào được tham chiếu bởi :new , không phải new (chú ý dấu hai chấm). Ngoài ra, SET là một phần của câu lệnh cập nhật, không phải là cách để đặt giá trị trường - những giá trị này được thực hiện bằng các phép gán đơn giản, nhưng lưu ý rằng chúng được thực hiện với := thay vì = .
Vì vậy, trình kích hoạt của bạn nên đọc:
CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;