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

Triggere:hvordan kan jeg initialisere værdien på en tabel med en værdi på en anden?

For det er ikke sådan, du ændrer en værdi i rækken, der indsættes - du skal ændre den ved hjælp af :NEW syntaks (dokumentation ); og du har ikke vist, hvordan du henter en relevant værdi fra MODELO tabel.

Du skal gøre noget 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;

(Selvom jeg ikke er helt sikker på, om du kan vælge direkte ind i en :NEW værdi - prøv det, men hvis ikke, bliver du nødt til at erklære en variabel af samme type, vælg den i stedet og tildel den derefter til :NEW ).




  1. Fejl:Udfyld:SelectCommand.Connection-egenskaben er ikke blevet initialiseret.

  2. MySQL-forklaring for SLET-forespørgsler

  3. Hvordan opretter man forbindelse til mssql ved hjælp af pdo gennem PHP og Linux?

  4. vært 'localhost' har ikke tilladelse til at oprette forbindelse til denne MySQL-server (#1130)