Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-09-2010
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 20
Gallosuarez Va por buen camino
Talking Otra opción...

Es correcto lo que menciona Guillotemarc con respecto de las transacciones. Sin embargo, como estás utilizando Firebird 2.5, entonces puedes hacerlo dentro de una transacción autónoma. Aqui pongo una posible solución a tu problema...

Código SQL [-]
begin
      
    WHEN EXCEPTION NOMBREEXCEPCION DO
      BEGIN                             
         EXCEPTION NOMBREEXCEPCION 'Texto de la excepción.';
         ON AUTONOMOUS TRANSACTION DO
         BEGIN 
           UPDATE TABLA SET CAMPO1 = 'DESCRIPCIÓN DE LA EXCEPCIÓN' WHERE CAMPOCLAVE = 'DATO';
         END
      END
end

Por favor, antes de poner tal cual, este procedimiento revisa que TODA la lógica este correcta. Simplemente trato de ejemplificar que este problema se puede solucionar de esta manera.

Saludos.
Gerardo Suárez Trejo

P.D. No dejes de publicar tu código final y platicarnos como te fue... saludos nuevamente
Responder Con Cita
  #2  
Antiguo 27-09-2010
Avatar de Axel_Tech
Axel_Tech Axel_Tech is offline
Miembro
 
Registrado: nov 2008
Ubicación: lugar en que está ubicado algo.
Posts: 85
Poder: 18
Axel_Tech Va por buen camino
Justo lo que necesitaba Gallosuarez, funciona a la perfección. Es igual que como tú lo has puesto sólo que con 2 pequeñas correcciones: el ON es un IN y hay que poner la excepción después de la transacción autónoma:
Código SQL [-]
begin     
    IF (condicion) THEN
      BEGIN                             
         IN AUTONOMOUS TRANSACTION DO
            BEGIN 
              UPDATE TABLA SET CAMPO1 = 'DESCRIPCIÓN DE LA EXCEPCIÓN' WHERE CAMPOCLAVE = 'DATO';
            END
         EXCEPTION NOMBREEXCEPCION 'Texto de la excepción.';
      END
end
Tampoco hace falta meterlo en un bloque WHEN, aunque también funciona.
Que maravilla estas características nuevas en la versión 2.5... Mil gracias, salu2
__________________
No hope, no dreams, no love, my only escape is Underground
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
actualizar un campo de una tabla en sql desde delphi josi Conexión con bases de datos 3 11-03-2008 05:37:20
Problemas con permisos despues de actualizar Osorio Firebird e Interbase 1 07-02-2007 06:52:44
Actualizar un campo de una tabla con datos que se encuentran en otra tabla Morphine SQL 4 15-12-2006 22:47:42
Pregunta fácil: DBEdit enlazado a un campo fecha: Excepcion AlJasham Conexión con bases de datos 10 16-07-2004 17:24:51
actualizar tabla al calcular un campo autocalculado Telemaco Conexión con bases de datos 14 08-04-2004 17:07:14


La franja horaria es GMT +2. Ahora son las 09:48:59.


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