Oracle
 sql >> Database >  >> RDS >> Oracle

Trigger:come posso inizializzare il valore su una tabella con un valore su un'altra?

Perché non è così che modifichi un valore nella riga che viene inserita:devi modificarlo usando il :NEW sintassi (documentazione ); e non hai mostrato come recuperare un valore rilevante dal MODELO tabella.

Devi fare qualcosa come:

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;

(Anche se non sono del tutto sicuro se puoi selezionare direttamente in un :NEW value - provalo, ma in caso contrario dovrai dichiarare una variabile dello stesso tipo, selezionala invece e quindi assegnala a :NEW ).