sql >> Database >  >> RDS >> Oracle

Triggers:hoe kan ik de waarde op een tabel initialiseren met een waarde op een andere?

Omdat dat niet is hoe u een waarde in de rij die wordt ingevoegd verandert - u moet deze wijzigen met de :NEW syntaxis (documentatie ); en je hebt niet laten zien hoe je een relevante waarde kunt ophalen uit de MODELO tafel.

Je moet iets doen als:

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;

(Hoewel ik niet helemaal zeker weet of je rechtstreeks in een :NEW kunt selecteren waarde - probeer dat, maar als dat niet het geval is, moet u een variabele van hetzelfde type declareren, in plaats daarvan selecteren en die toewijzen aan de :NEW ).




  1. Oracle SQL:functie CHR() gebruiken met || samenvoegen

  2. Hoe een 32-bits SSIS-pakket in een 64-bits pakket uit te voeren?

  3. jQuery automatisch aanvullen (op afstand) - voorbeeld

  4. postgres - twee arrays vergelijken