Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/10/2012, 09:44
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problemas con triigers

¿Ves ese "NEW" que está en el codigo?

Bueno, el tema es que no puedes usar los valores de los campos de la tabla directamente, porque o no existen aún (BEFORE), o ya están en ella (AFTER).
Tampoco puedes acceder a las variables que usaste, porque no existen para el TRIGGER.

¿Entonces cómo accedes a los valores que llegan?

Bueno, si hubieses leído el link que te pasé te habrías enterado que existen dos pseudovariables denominadas NEW y OLD, que vienen a representar los estados del registro que estás manipulando.
NEW es el que refiere al los datos entrantes, OLD a los que ya estaban en la tabla.

Cuando tu pusiste esto:
Cita:
`nombre`='NombreModificado'
y esto:
Cita:
`nuevosdatos.codigo`=`persona.codigo`
MySQL no sabía a qué te estabas refiriendo, porque no existen esos objetos para el TRIGGER. Además en el segundo caso está completamente mal escrito, porque el punto separa bloques tabla.columna, y tu enmarcaste todo como una sola cosa.

¿Se va entendiendo?

Lee el link. contiene buenos ejemplos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)