Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

trigger affter insert

Estas en el tema de trigger affter insert en el foro de Mysql en Foros del Web. no he trabajado con trigger y creo que esto me ayudaria bastante tengo una tabla con dos campos fecha (fecha1,fecha2) y un tercer campo llamado ...
  #1 (permalink)  
Antiguo 07/08/2010, 00:42
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 3 meses
Puntos: 1
trigger affter insert

no he trabajado con trigger y creo que esto me ayudaria bastante

tengo una tabla con dos campos fecha (fecha1,fecha2) y un tercer campo llamado fecha3 en dicha tabla hago un insert masivo de registros por medio de un LOAD DATA LOCAL INFILE todo lo hace perfecto en el archivo csv vienen los datos de fecha1 y fecha2 el campo fecha3 debera de ser un campo llenado de acuerdo a los anteriores es decir

si fecha1 = '0000/00/00' entonces
fech3 = hoy()-fecha2

de lo contrario
fecha3 = hoy()-fecha1

se puede llenar el campo fecha3 con un trigger???

Todo esto lo que quiero hacer es evitar que este query se alente

Select * From tabla a where
if(year(a.fecha1)<>0,DATEDIFF(now(),a.fecha1)>=91, DATEDIFF(now(),a.fecha2)>=91 )
and saldo>0
and left(a.rut,2)<>'15'and left(a.rut,2)<>'19'

porque esta incluido en la consulta madre que es mas complicada, tambien si me pueden ayudar con que indices me ayudaria a agilizar esto les agradeceria mucho

Saludos y muchas gracias
  #2 (permalink)  
Antiguo 07/08/2010, 00:57
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: trigger affter insert

Por que lo necesito hacer porque en la actulidad tengo este query y esta super lento


SELECT a.rut,count(distinct a.nombre) as cliente,
count(a.id
FROM tabla a where a.saldo>0 and
if(year(a.fecha1)<>0,DATEDIFF(now(),a.fecha1)>=0 and DATEDIFF(now(),a.fecha1)<=90,
DATEDIFF(now(),a.fecha2)>=0 and DATEDIFF(now(),a.fecha2)<=90)
and Not exists (

Select a.* From tabla a where
if(year(a.fecha1)>0,DATEDIFF(now(),a.fecha1)>=91,D ATEDIFF(now(),a.fecha2)>=91 )
and a.rfc=a.rfc )

Lo que quiero saber es el numero de clientes que estan en la tabla que tengan un rango de fechas entre 0 y 90 dias (hoy-fecha) pero que no esten en el rango de fechas mayores o igual a 91. Es decir:

1.- hoy - Fecha1 ------ significa el numero de dias que tienen de vencimientos sus pagares, si fecha1 es '0000/00/00' por eso se toma la fecha2.
2.- el cliente se tienen que considerar solamente una vez y puede tener dos creditos uno con menos de 90 de atrazo y otra con mas de 90 dias y solo me debe de contabilizar una vez el cliente




group by saldos_ruta
  #3 (permalink)  
Antiguo 07/08/2010, 06:11
Avatar de Fabu_dina  
Fecha de Ingreso: enero-2004
Mensajes: 425
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: trigger affter insert

Tengo entendido que es imposible hacer un update despues de hacer insert en la misma tabla

lo que se puede hacer es un stored procedures pero desconosco de la materia tambien si alguien me puede ayudar lo agardeceria mucho

lo que necesito hacer es lo siguiente

Tengo dos campos date (fecha1 y fecha2)

si fecha1 = '0000/00/00' entonces fecha3 = fecha2
si fecha1 <> '0000/00/00' entonces fecha3 = fecha1

despues quiero sacar los dias entre fecha3 y hoy es decir: hoy()-fecha3

y ese valor actualizarlo en un campo integer llamado dif_fecha en la misma tabla

Como podria crear este procedimiento y asu vez como se puede hacer el llamado del mismo por medio de ASP

Etiquetas: affter, insert, trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:49.