Tema: Trigger
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/07/2011, 21:01
eliascobo
 
Fecha de Ingreso: julio-2011
Mensajes: 16
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Trigger

Cita:
Iniciado por gnzsoloyo Ver Mensaje
La idea está cerca, pero hay algunas observaciones:

1) Si el trigger es para un INSERT, entonces la pseudovariable OLD no existe, porque OLD sólo existe para los UPDATE, y no es el caso. Eso es porque OLD representa el registro a modificar en su estado actual y NEW son los nuevos datos, los que pueden ser todos los campos, o sólo algunos. En ese contexto, OLD no existe en el INSERT porque en una inserción no hay estado anterior de un registro; es todo nuevo.

2) Si es para un UPDATE, ¿qué es lo que estarías actualizando? ¿Cuál o cuáles campos? ¿Qué registro o registros abarcaría?

3) Si es un UPDATE, todo el trigger es innecesario, porque la misma operación se puede escribir en el UPDATE, sin ningún problema:
Código MySQL:
Ver original
  1. UPDATE Controles
  2. SET anterior = IF(control = CURDATE(), control, anterior),
  3.        control = IF(control = CURDATE(), siguiente, control),
  4.        siguiente = IF(control = CURDATE(), ADDDATE(siguiente, INTERVAL 6 MONTH), siguiente)
  5. WHERE dni = valorBuscado;
Donde valorBuscado es un DNI cuyos datos se quieren actualizar.


Gracias x la respuesta xD.....

lo que tengo que actualizar es:

-a campo anterior asignarle campo control
-a campo control asignarle campo siguiente
-a campo siguiente asignarle campo siguiente incrementado en 6 meses.