Oracle के ट्रिगर सिंटैक्स में नए सम्मिलित रिकॉर्ड को :new . द्वारा संदर्भित किया जाता है , नहीं new (कोलन पर ध्यान दें)। साथ ही, SET अद्यतन विवरण का एक भाग है, फ़ील्ड मान सेट करने का तरीका नहीं है - वे साधारण असाइनमेंट द्वारा किए जाते हैं, लेकिन ध्यान दें कि ये := के साथ किए जाते हैं के बजाय = .
तो, आपके ट्रिगर को पढ़ना चाहिए:
CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;