Ver Mensaje Individual
  #1  
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
Reputación: 16
Axel_Tech Va por buen camino
Actualizar campo de tabla después de excepción

Hola a todos, a ver si alguien me puede dar una idea de como solucionar el siguiente problema: tengo un trigger before insert que si se cumple una determinada condición salta una excepción y también quiero que se meta en un campo del registro anterior (temporalmente hablando) un texto con el error.
Estoy probando de estas dos formas:
Código SQL [-]
begin
   IF (condicion) THEN
      BEGIN
         EXCEPTION NOMBREEXCEPCION 'Texto de la excepción.';
         UPDATE TABLA SET CAMPO1 = 'DESCRIPCIÓN DE LA EXCEPCIÓN' WHERE CAMPOCLAVE = 'DATO';  
      END
end

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

y con las 2 me salta la excepción pero no me hace el update. ¿Automáticamente cuando hay una excepción se cancela todo lo que hace el trigger? Estoy usando Firebird 2.5
__________________
No hope, no dreams, no love, my only escape is Underground

Última edición por Axel_Tech fecha: 27-09-2010 a las 12:01:27.
Responder Con Cita