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;