Dalam sintaks pemicu Oracle, catatan yang baru dimasukkan disebut dengan :new
, bukan new
(perhatikan usus besar). Selain itu, SET
adalah bagian dari pernyataan pembaruan, bukan cara untuk menetapkan nilai bidang - itu dilakukan dengan tugas sederhana, tetapi perhatikan bahwa ini dilakukan dengan :=
daripada =
.
Jadi, pemicu Anda seharusnya berbunyi:
CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;