Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2010
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 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
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
Generalísimo Francisco Franco is still dead ... seoane La Taberna 7 29-06-2006 15:42:30
sintaxis de execute procedure micayael Firebird e Interbase 4 23-12-2005 19:05:03
Execute procedure VRO Firebird e Interbase 4 26-01-2005 17:55:57
Dead lock update conflicts with..... ElCherchu Conexión con bases de datos 3 10-07-2003 17:53:24


La franja horaria es GMT +2. Ahora son las 00:21:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi