Parce que ce n'est pas ainsi que vous modifiez une valeur dans la ligne en cours d'insertion - vous devez la modifier en utilisant le :NEW
syntaxe (documentation
); et vous n'avez pas montré comment récupérer une valeur pertinente du MODELO
tableau.
Vous devez faire quelque chose comme :
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;
(Bien que je ne sois pas tout à fait sûr que vous puissiez sélectionner directement dans un :NEW
valeur - essayez cela, mais si ce n'est pas le cas, vous devrez déclarer une variable du même type, sélectionnez-la à la place, puis affectez-la au :NEW
).