Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/06/2010, 20:12
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: 16 años, 5 meses
Puntos: 2658
Respuesta: Trigger Insert After Update

Error principal:

Cita:
El disparador no puede invocar procedimientos almacenados utilizando la sentencia CALL. (Esto significa, por ejemplo, que no se puede utilizar un procedimiento almacenado para eludir la prohibición de referirse a tablas por su nombre).
(Manual de Referencia: 20.3. Utilización de disparadores

Segundo nivel de error:
No se puede invocar en un TRIGGER una tabla que ya se está usando.
Código MySQL:
Ver original
  1. INSERT INTO laprueba VALUES("algo", 120, 0);
Usas la tabla "laprueba". Esta acción dispara el TRIGGER, que a su vez contiene esta sentencia:
Código MySQL:
Ver original
  1. SELECT preciocompra*(0.15) INTO preciov FROM laprueba WHERE nombrep = new.nombrep;
Estás invocando la misma tabla que genera el evento...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)