Mysql
 sql >> Database >  >> RDS >> Mysql

MYSQL:come faccio a creare un trigger che calcola un valore di campo in base al valore di una tabella diversa?

Prova questo:

DELIMITER $$

CREATE TRIGGER `yourDB_polozky`
   BEFORE INSERT
   ON `yourDB`.`polozky`
   FOR EACH ROW
BEGIN
   DECLARE vat_rate   float;

   SELECT DPH
     INTO dph_rate
     FROM `yourDB`.`dph`
    WHERE id = new.dph_id;

   SET new.cena = (1 + dph_rate) * (new.cena_za_kus * new.mnozstvi);
END
$$