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 01-07-2008
Addicto Addicto is offline
Registrado
 
Registrado: oct 2007
Posts: 2
Poder: 0
Addicto Va por buen camino
Unhappy Error Lock conflict al momento de Delete

Holas, bueno primero que nada saludos a todos, espero que puedan ayudarme en mi consulta pues e visto sus post y sen expertos en la materia.

bueno mi problema es el siguiente, estoy realizando un procedimiento almacenado (en firebird 1.5) el cual envia parametros a un segundo procedimiento mediante el comando EXECUTE PROCEDURE, el problema que tengo es cuando se ejecuta el procedimiento este no ejecuta el delete que lo forma y me muestra el siguiente error

Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Lock conflict on no wait transaction.
Deadlock.
Update conflicts with concurrent update.
SQL Code: -901
IB Error Number: 335544345

bueno este es mi script principal:
Código SQL [-]
CREATE PROCEDURE ACTUALIZA_HAPS(
  NUEVO INTEGER,
  VIEJO INTEGER)
AS
DECLARE VARIABLE CONT INTEGER;
DECLARE VARIABLE ULTIMO INTEGER;
DECLARE VARIABLE ID INTEGER;
DECLARE VARIABLE PROG_ID INTEGER;
DECLARE VARIABLE ESTADO INTEGER;
BEGIN
CONT=0;
nuevo=1844855;
viejo=1847710;
EXECUTE PROCEDURE elimina_uspc(:nuevo); 
EXECUTE PROCEDURE elimina_uspc(:viejo);
for
   select PROG_ID
   from HAPS_HISTORIAL_USUARIO
   where usp_id in (:NUEVO,:VIEJO)
   group by prog_id
  into rog_id
do
begin
     FOR
        SELECT ID,ESTADO
        FROM HAPS_HISTORIAL_USUARIO
        WHERE PROG_ID = :PROG_ID AND USP_ID IN (:NUEVO,:VIEJO)
     INTO :ID,:ESTADO
     DO
     BEGIN
        if (ESTADO IN (1,2,8) AND :cont = 0) THEN
        BEGIN
             cont = 1;
             ultimo = :id;
        END
        ELSE IF (ESTADO IN (1,2,8) AND :cont = 1) THEN
        BEGIN
            delete from HAPS_HISTORIAL_USUARIO where id = :id;
        END
        ELSE IF (ESTADO IN (4,3,5,6,7,9,10)  AND :cont = 1) THEN
        BEGIN
             cont = 0;
             ultimo = :id;
        END
        ELSE IF (ESTADO IN (4,3,5,6,7,9,10)  AND :cont = 0) THEN
        BEGIN
             delete from HAPS_HISTORIAL_USUARIO  where id = :id;
        END
    end
     
        EXECUTE PROCEDURE INSERT_USPC(:ultimo);
suspend;
END
end
;





y este es el procedimiento el cual me muestra error:
Código SQL [-]
CREATE PROCEDURE ELIMINA_USPC(
  VAR INTEGER)
AS
BEGIN
  delete from USPC_USUARIO_APS_BAJO_CONTROL where usp_id = :var; 
end;


yo creo que el procedimiento principal me debe dejar la base de datos tomada con alguna transaction, pero no encuentro la forma de hacer un commit cuando se ejecuta el delete.

bueno eso, espero puedan ayudarme. Gracias.

Última edición por Addicto fecha: 01-07-2008 a las 16:13:26.
Responder Con Cita
  #2  
Antiguo 02-07-2008
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Intentalo como :

Código SQL [-]
EXECUTE PROCEDURE elimina_uspc(:viejo);

Commit Work;
__________________
"Hemos aprendido a volar como los Pájaros, y a nadar como los Peces, y todavía No aprendemos a vivir como Hermanos". Martin Luther King
Responder Con Cita
  #3  
Antiguo 04-07-2008
Addicto Addicto is offline
Registrado
 
Registrado: oct 2007
Posts: 2
Poder: 0
Addicto Va por buen camino
Cita:
Empezado por AGAG4 Ver Mensaje
Intentalo como :

Código SQL [-]EXECUTE PROCEDURE elimina_uspc(:viejo); Commit Work;
Hola, intente lo que me mencionaste pero me arroja error por la sintaxis, yo creo que debe haber alguna forma de instanciar la transaccion, por que lo que hago yo es un delete pero hay que efectuar el commit e esa transaccion.....
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
Error General Sql Error lock conflict ...deadlock Patricio Varios 1 19-03-2008 14:52:14
Error al momento de Visualizacion ruedabeat2003 Impresión 6 05-03-2008 16:23:37
Lock conflict on no wait transaction gorsan Conexión con bases de datos 2 08-08-2007 09:47:56
Error al momento de guardar Nathan MySQL 3 31-01-2006 01:41:47
error: lock file has... ebeltete SQL 9 11-06-2003 17:15:06


La franja horaria es GMT +2. Ahora son las 18:31:03.


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