Saltar al contenido

En FirebirdSql, cómo devolver un mensaje de excepción del procedimiento

Solución:

Desafortunadamente, deberá hacerlo en el lado del cliente, ya que actualmente no es posible obtenerlo en PSQL. Hay una solicitud de función en el rastreador de Firebird, que se implementó para Firebird 4, que se espera que se lance en 2019.

Consulte las notas de la versión de Firebird 4 Beta 2, sección Función del sistema RDB $ ERROR () (advertencia: el enlace podría romperse con la próxima versión o con la versión GA):

La función RDB$ERROR() toma un contexto de error de PSQL como entrada y devuelve el contexto específico de la excepción activa. Su alcance se limita al contexto del bloque de manejo de excepciones en PSQL. Fuera del bloque de manejo de excepciones, RDB$ERROR siempre contiene
NULL.

El tipo de valor devuelto depende del contexto.

Reglas de sintaxis

RDB$ERROR ( context )
context ::= { GDSCODE | SQLCODE | SQLSTATE | EXCEPTION | MESSAGE }

[..]

Ejemplo

BEGIN
  ...
WHEN ANY DO
  EXECUTE PROCEDURE P_LOG_EXCEPTION(RDB$ERROR(MESSAGE));
END
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *