Jump to content


Photo

Duda con manejo de excepciones en Firebird


  • Please log in to reply
4 replies to this topic

#1 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 17 April 2014 - 08:53 PM

Tengo un stored procedure donde al darse una determinada condición como la siguiente:



delphi
  1. If (:max_cred_cte < :cred_actual_cte) then



debe devolver un mensaje de error y cancelar la transacción.  Esto en otros motores puede solucionarse lanzando una excepción. ¿Cómo puedo hacerlo en firebird?

gracias amigos

  • 0

#2 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2137 posts

Posted 17 April 2014 - 09:06 PM

Primero que todo debes crear la excepción de la siguiente manera:


delphi
  1. CREATE EXCEPTION VALOR_CREDITO_INCORRECTO 'El valor actual del crédito excede el cupo del cliente.';



Luego la llamas dentro del sp:



delphi
  1. If (:max_cred_cte < :cred_actual_cte) then
  2. EXCEPTION VALOR_CREDITO_INCORRECTO;



Saludos.

PD: La excepción es independiente del SP y puede ser llamada desde cualquier Trigger o SP.
  • 0

#3 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 17 April 2014 - 09:16 PM

Vaya que sencillo de hacerse.

Muchas gracias por el código
  • 0

#4 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2137 posts

Posted 17 April 2014 - 09:22 PM

Vaya que sencillo de hacerse.


En Firebird todo es muy sencillo e intuitivo.  :p

Saludos.
  • 0

#5 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1092 posts
  • LocationMurcia, España

Posted 19 April 2014 - 03:16 PM

...y admite parametros, puedes poner en el mensaje el credito total excedido por ejemplo!
  • 0




IP.Board spam blocked by CleanTalk.