Ver Mensaje Individual
  #1  
Antiguo 22-03-2008
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Reputación: 24
brandolin Va por buen camino
Store Procedure con DeadLock

Hola a todos, tengo el siguiente store procedure

Código SQL [-]
CREATE PROCEDURE CALC_CUENTACORRIENTE (
    PCOD_CLIENTE INTEGER)
AS
DECLARE VARIABLE HABER FLOAT;
DECLARE VARIABLE DEBE FLOAT;
DECLARE VARIABLE ID INTEGER;
DECLARE VARIABLE TMP_SALDO FLOAT = 0;
begin
  TMP_SALDO = 0;
  for select ID, DEBE, HABER from CLIENTES_CUENTA
      where COD_CLIENTE =:PCOD_CLIENTE into :ID, EBE, :HABER
  do begin
     if (NOT EBE IS NULL) then TMP_SALDO = :TMP_SALDO - EBE;
     if (NOT :HABER IS NULL) then TMP_SALDO = :TMP_SALDO + :HABER;     
      UPDATE clientes_cuenta SET SALDO=:TMP_SALDO WHERE ID = :ID;      
  end
end

Basicamente lo que hace es recorrer una tabla de cuenta corriente e ir calculando los saldos parciales de cada uno de los registros. El problema sirge luego de hacer un update el proximo da error de DeadLock.
Alguien sabe lo que esta pasando ? Habra alguna otra forma de hacerlo ?

Gracias desde ya.
Responder Con Cita