Porque não é assim que você altera um valor na linha que está sendo inserida - você precisa modificá-lo usando o
:NEW
sintaxe (documentação
); e você não mostrou como recuperar um valor relevante do MODELO
tabela. Você precisa fazer algo como:
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;
:NEW
value - tente isso, mas se não, você precisará declarar uma variável do mesmo tipo, selecione-a e atribua-a ao :NEW
).