sql >> Databasteknik >  >> RDS >> Oracle

Utlösare:hur kan jag initiera värdet på en tabell med ett värde på en annan?

Eftersom det inte är så du ändrar ett värde i raden som infogas - du måste ändra det med :NEW syntax (dokumentation ); och du har inte visat hur man hämtar ett relevant värde från MODELO bord.

Du måste göra något som:

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;

(Även om jag inte är helt säker på om du kan välja direkt till en :NEW värde - försök det, men om inte måste du deklarera en variabel av samma typ, välj i den istället och tilldela den sedan till :NEW ).




  1. Laravel 5.4 Kombinerar två kollektioner

  2. Allvarligt fel:jni.h:Ingen sådan fil eller katalog vid installation av jPype

  3. Kolumn 'id' i fältlistan är tvetydig i YII

  4. Förstå SUM(NULL) i MySQL