Protože takto neměníte hodnotu ve vkládaném řádku – musíte ji upravit pomocí :NEW
syntaxe (dokumentace
); a neukázali jste, jak získat relevantní hodnotu z MODELO
tabulka.
Musíte udělat něco jako:
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;
(I když si nejsem úplně jistý, zda můžete vybrat rovnou do :NEW
value – zkuste to, ale pokud ne, budete muset deklarovat proměnnou stejného typu, vybrat do ní místo toho a pak ji přiřadit k :NEW
).