V syntaxi triggeru Oracle je nově vložený záznam označen :new
, nikoli new
(všimněte si dvojtečky). Navíc SET
je součástí aktualizačního příkazu, nikoli způsob, jak nastavit hodnoty polí – ty se provádějí jednoduchým přiřazením, ale všimněte si, že se to provádí pomocí :=
spíše než =
.
Spouštěč by tedy měl znít:
CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;