Ver Mensaje Individual
  #1  
Antiguo 12-03-2010
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Reputación: 20
afxe Va por buen camino
Dead lock en un execute procedure.

Hola a todos.
Estoy usando FB2.0 y he puesto mi aplicación en marcha en un negocio con muchos terminales de venta. Para actualizar el fichero de stock uso los trigger de la tabla de movimimientos, cuando nuevas lineas de venta resto del fichero de stock, cuando se modifica una linea de venta sumo la cantidad antigua (old.unidades) y resto la nueva cantidad (new.unidades), y cuando se elimina un registro de venta se vuelve a sumar las unidades al stock de la tienda.
El caso es que lo hice en un stored procedure (actualiza_stock) que llamo en los triggers AFTER INSERT y AFTER UPDATE restando de stock y BEFORE UPDATE y BEFORE DELETE sumando al stock.
Cuando dos puestos a la vez validan una venta de muchos productos se me está produciendo un Deadlock en el stored procedure mencionado, cosa que no pasaría si inserto el código de actualización de stock en cada trigger en vez de tenerlo en un stored procedure.
¿Qué se os ocurre para manejar esta incidencia? es que tengo 199 stored procedures que (aunque no todas se llaman en triggers) sería un rollazo cambiar.

Gracias y saludos.
__________________
Amar al mundo apasionadamente.
Responder Con Cita