PDA

Ver la Versión Completa : Recoger errores SQL


ronson
27-05-2004, 12:15:21
Hola,
decir que estoy empezando a programar una BD con Firebird y me gustaría saber como recoger un error al insertar en la BD desde un procedimiento almacenado.
Es decir, si al insertar un registro un capo lo dejo a NULL cuando no puede ser, quiero poder manejarlo.

El código que estoy utilizando es el siguiente:

INSERT INTO FACTURAS (NUMERO, ANNO, FECHA, CLIENTE, BASE_IMP, IVA, TOTAL, DESCUENTO, COBRADA)
VALUES (:eNUMERO, :eANNO, :eFECHA, :eCLIENTE, :eBASE_IMP, :eIVA, :eTOTAL, :eDESCUENTO, :eCOBRADA);
SERROR = gdscode;
SUSPEND;
WHEN ANY DO
BEGIN
SRESULTADO = 0;
STEXTO = 'Error al insertar factura';
END



Pero, para empezar el precompilador me da un error con GDSCODE o SQLCODE, cuando tengo entendido que es donde se guarda el resultado del INSERT.

Por otra parte, sea cual sea el error al insertar, nunca entra en WHEN ANY, cuando supuestamente recoge cualquier tipo de error.

¿Alguien me puede decir como manejar estos errores dentro del procedimiento almacenado?

Muchas gracias.

jachguate
27-05-2004, 18:09:05
Hilo movido a Interbase/Firebird desde SQL debido a que se trata de un asunto específico de este motor.

Hasta luego.

;)