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;