Hoy decidí registrarme a ver si encuentro una solución al problema que me surgió.
Estoy realizando el proyecto de fin de ciclo de ASIR y cree una base de datos basada en una empresa de autobuses.
Os pongo las dos tablas que he creado y os detallo el problema que me surge.
Código SQL:
Ver original
CREATE TABLE vehiculos ( Cod_Veh INT NOT NULL, Matricula VARCHAR(7), Modelo VARCHAR(20), Capacidad_deposito INT, Km_totales INT, Ultimo_repostaje DATE, Consumo_medio_ultimo_deposito FLOAT, PRIMARY KEY (Cod_Veh) ); DROP TABLE IF EXISTS repostajes; CREATE TABLE repostajes ( Cod_Rep INT NOT NULL, Cod_Veh INT NOT NULL, Fecha DATE, Kilometros INT, Litros_repostados INT,
Pues bien, necesito crear un trigger que me permita insertar el consumo medio desde el ultimo repostaje, para eso necesito un trigger de este estilo:
Código SQL:
Ver original
CREATE TRIGGER repostajes BEFORE UPDATE ON repostajes FOR EACH ROW SET vehiculos.Km_totales=NEW.Kilometros, vehiculos.Ultimo_repostaje=NEW.Fecha, vehiculos.Consumo_medio_ultimo_deposito=(NEW.Litros_repostados * 100) / (Kmultimorepostaje - Kmpenultimo repostaje);
Lo que necesito saber es si hay alguna forma que al introducir un nuevo repostaje, mire esos km que acabas de meter y les reste el mismo campo del anterior repostaje con el mismo codigo de vehiculo.
Estoy muy verde en MySQL porque el tema de automatización lo dimos en el tercer trimestre, que por motivos de saludo no pude asistir.
Muchas gracias y un saludo!