FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Insert desde select no ejecuta trigger
Hola.
Bueno estoy trabajando en un proyecto en el cual realizo una consulta y de ella realizo inserción en la tabla correspondiente... hasta ahi todo va bien porque es solo algo como esto.., Así de sencillo, sin embargo en la tabla que he denominado "mitabla" existe un trigger que se ejecuta al insertar en el evento after... en él lo que hago es un conjunto de formulas para calcular otros campos que hacen parte de "mitabla" pero nunca se logran ejecutar. Lo curioso es que cuando hago un insert convencional sin la utilización de select todo va bien. Les agradezco la ayuda que me puedan otorgar. Saludos! Última edición por Casimiro Notevi fecha: 20-03-2016 a las 22:03:13. Razón: ¡¡¡ Poner etiquetas del código !!! |
#2
|
||||
|
||||
En el AfterInsert, y no se ejecuta. ¿Cómo sabes que no se ejecuta? lo mismo no cumple con las condiciones que tenga. Muestra el código, no podemos decir mucho si no lo vemos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Gracias, casimiro y si tienes razón olvide algunos detalles.. el trigger se encuentra en el before insert, pués realmente no he podido colocarlo en el after insert, pués me muestra error de que NEW no es permitido... el código es el siguiente.
Como pueden observar se encarga de realizar algunos cálculos e incrustarlo en el campo correspondiente... quizás sea algo que no tengo en cuenta puesto que soy nuevo en MYSQL... Gracias. |
#4
|
||||
|
||||
Entonces me imagino que el insert que has puesto antes también es ficticio, esto me recuerda cuando una madre va al médico y le dice: mire, doctor, es que mi hija dice que le duele por aquí, ¿qué puede ser?
Y el doctor la mira perplejo
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
Casimiro tienes toda la razón incluire el insert real:
Y si existen datos en la tabla original que referencian a los campos que deben ser calculados pero e intentado también enviándolos y aun así no funcionan, no se que otra información requieres para que me puedas dar una mano si es así coméntame. |
#6
|
||||
|
||||
Definitivamente no es mi fuerte, pero primero mejor obviar algunas cosas
Cuando ejecutas la sentencia INSERT con el SELECT incluido, en la tabla movimientos_detalles_t se genera una nuevo registro? Es decir, la insercion es exitosa? O fracasa? Podrias buscar herramientas de depuracion para MySQL, por ejemlo esta o esta Última edición por AgustinOrtu fecha: 21-03-2016 a las 23:22:11. |
#7
|
|||
|
|||
Agustin, gracias por tu aporte estuve revisando pero al parecer le utilidad es solo para procedimiento y funciones y no logré que mostrará algo referente a los datos que deben llegar al trigger.
|
#8
|
||||
|
||||
La pregunta es, para empezar, ¿se produce el insert correctamente?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
|||
|
|||
El insert se ejecuta de manera correcta, solo como explicaba los datos que van en los campos
Que son los que se deberían calcularse con el trigger nunca lo hacen a través de la inserción utilizando el select... lo curioso es que cuando lo hago registro por registro con la estructura:
teniendo en cuenta que el trigger se ejecuta en el evento before insert. |
#10
|
||||
|
||||
No conozco mysql, aunque ¿has probado cambiar al evento afterinsert?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#11
|
|||
|
|||
Trigger Verificacion
Hola, no conosco mysql pero:
1. Prueba si el trigger se ejecuta : crea una excepcion , si la excepcion se efecuta se que el trigger se ejecuta, ahi voy bien 2. cambia uno de los valores calculados por el trigger colocando una constante por ejemplo 1 nigun otro calculo si lo hace esto bien 3. haga calculo por calculo porque es posible que al calcular se exceda un limite o venga un nulo saludes |
#12
|
|||
|
|||
Bueno, ya he probado enviando valores fijos... y sigue igual, deshabilite el trigger y funciona definitivamente el problema es con el trigger... Cree un procedimiento almacenado que luego de insertar recorriera y calcular y sigue sin funcionar
|
#13
|
||||
|
||||
¿La sintaxis del código del trigger está bien, no da ningún error al compilarlo?. Desconozco cómo es en mysql.
Crea un trigger simple para probar, algo así como:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Trigger Update or insert | amerika111 | MS SQL Server | 0 | 03-08-2011 22:18:52 |
problema con trigger after insert | auribe | Conexión con bases de datos | 2 | 18-05-2011 17:51:16 |
Se ejecuta el insert al cerrar la aplicacion | Dens | SQL | 5 | 31-08-2010 03:23:30 |
No ejecuta Trigger en Firebird | Coco | Firebird e Interbase | 5 | 09-01-2007 18:43:48 |
Select no se ejecuta sobre el mimos registro... | Alfredo | Conexión con bases de datos | 2 | 08-03-2005 15:49:42 |
|