Da Sie auf diese Weise keinen Wert in der einzufügenden Zeile ändern, müssen Sie ihn mit :NEW
ändern Syntax (Dokumentation
); und Sie haben nicht gezeigt, wie Sie einen relevanten Wert aus dem MODELO
abrufen Tabelle.
Sie müssen etwas tun wie:
CREATE OR REPLACE TRIGGER inicializar_plazas_disponibles
BEFORE INSERT OR UPDATE ON vuelo
FOR EACH ROW
BEGIN
SELECT capacidad
INTO :NEW.plazas_disponibles
FROM modelo
WHERE ... some condition, presumably another :NEW column ...
END;
(Obwohl ich nicht ganz sicher bin, ob Sie direkt in ein :NEW
auswählen können value - versuchen Sie das, aber wenn nicht, müssen Sie eine Variable des gleichen Typs deklarieren, wählen Sie stattdessen diese aus und weisen Sie diese dann dem :NEW
zu ).