El 20/10/14 a las #4, Maxi escribió:
Hiciste la prueba en pasos manualmente? puede haber una transaccion aun no cerrada por eso no ve el cambio. Me parece que el update no va a funcionar porque consultas algo que todavia no ocurrió.
Está pueseto en el trigger afterdelete?
Está after, pero lo curioso es que funciona bien excepto cuando el count da 0 De todas formas como esta consulta actualiza toda la tabla, la modifique solo para la relacion con el registro borrado UPDATE Datos_tene as dt, Ficheros2 as f2 SET dt.ficherosasociados=(SELECT count(f2.id_Datos_tene) FROM Ficheros2 as f2 WHERE f2.id_Datos_tene=dt.COD_FINCA) where dt.COD_FINCA=OLD.id_Datos_tene Cambia el "f2.id_Datos_tene" por "OLD.id_Datos_tene" Gracias por la ayuda
El día 19 de octubre de 2014, 18:09, admin-listas
escribió: Dos tablas una a muchas
UPDATE Datos_tene as dt, Ficheros2 as f2 SET dt.ficherosasociados=(SELECT count(f2.id_Datos_tene) FROM Ficheros2 as f2 WHERE f2.id_Datos_tene=dt.COD_FINCA) where dt.COD_FINCA=f2.id_Datos_tene
Cada vez que se borra un registro en Ficheros2 se ejecuta el disparador para actualizar el numero de registros asociados a Datos_tene y que se guardan en Datos_tene.ficherosasociados
En realizad se ejecuta cuando se inserta y se borra, pero solo tengo el problema despues de borrar un registro y este es el ultimo asociado, ya que deberia dar cero, pero nunca cambia el campo a 0, siempre se queda en 1.
Sera una chorrada pero ya estoy espeso y esto no es lo mio.
saludos
-- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org