In der Trigger-Syntax von Oracle wird auf den neu eingefügten Datensatz mit :new
verwiesen , nicht new
(beachten Sie den Doppelpunkt). Zusätzlich SET
ist ein Teil einer Update-Anweisung, keine Möglichkeit, Feldwerte zu setzen - diese werden durch einfache Zuweisungen gemacht, aber beachten Sie, dass diese mit :=
gemacht werden statt =
.
Ihr Trigger sollte also lauten:
CREATE OR REPLACE TRIGGER NumberOfBooks
BEFORE INSERT
ON book
FOR EACH ROW
BEGIN
IF :new.nobook < 10
THEN
:new.nobook := 10;
END IF;
END;