Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2015, 11:27
grexit
 
Fecha de Ingreso: julio-2015
Mensajes: 8
Antigüedad: 8 años, 9 meses
Puntos: 0
Novato: duda uso trigger mysql

COCHES
matricula primary key
alquilado ('SI' o 'NO')

HISTORIAL
id primary key
matricula
usuario
fecha_alquiler (se genera automáticamente al crearse el registro)
fecha_retorno

Código MySQL:
Ver original
  1. DELIMITER
  2.     CREATE TRIGGER alquilado_actualizacion_fecha_retorno
  3.         AFTER UPDATE ON coches.alquilado /*(salta al modificar el campo alquilado de la tabla coches)*/
  4.         FOR EACH ROW
  5.         BEGIN
  6.      
  7.         UPDATE historial
  8.         SET fecha_retorno = SYSDATE() /*(actualiza la fecha_retorno cuando cumple las siguiente condiciones)*/
  9.          
  10.         WHERE id /*historial*/ =  (SELECT id  FROM historial
  11.         WHERE fecha_alquiler = (SELECT MAX(fecha_alquiler) FROM historial WHERE matricula = coches.id_matricula)); /*selecciona el id del historial con la fecha de alquiler mas reciente de la matricula que se ha actualizado*/
  12.          
  13.     END;
  14.     DELIMITER;

He creado este disparador para que cuando modifique el campo de alquilado (tabla coches) a 'NO' automáticamente en la tabla de historial actualice la fecha_retorno del coche del último usuario en alquilarlo. He probado este mismo disparador en phpmyadmin pero ni si quiera me deja agregarlo por problemas en la sintaxis. Me podéis decir que estoy haciendo mal ¿? Gracias.