Hi, i'm new at db2, and i'm trying to make a procedure which catches Error codes with handlers. I've done this code:
CREATE PROCEDURE prueba (equery IN NUMBER)
IS
exception1 EXCEPTION;
exception2 EXCEPTION;
PRAGMA EXCEPTION_INIT(exception2,-942);
exception3 EXCEPTION;
PRAGMA EXCEPTION_INIT(exception3,42601);
ecode INTEGER DEFAULT 0;
SQLCODE INTEGER DEFAULT 0;
BEGIN
EXECUTE IMMEDIATE equery;
IF SQLCODE <> 0 THEN -- Validación para alcanzar la primer excepción.
RAISE OTHERS;
END IF;
EXCEPTION
WHEN exception1 THEN
DBMS_OUTPUT.PUT_LINE('1ra. excepción de usuario capturara');
WHEN exception2 THEN
DBMS_OUTPUT.PUT_LINE('2da. excepción de usuario (Indeterminada) capturada');
WHEN OTHERS THEN
SET (dcode = SYSPROC.SQLERRM (SQLCODE));
DBMS_OUTPUT.PUT_LINE(dcode);
END @
But when I try do deploy, send me the next error message:
En ejecución
NOM_ESQ.PRUEBA - Despliegue iniciado.
Crear procedimiento almacenado retornos SQLCODE: -104, SQLSTATE: 42601.
NOM_ESQ.PRUEBA: 1: An unexpected token "VARCHAR" was found following "RE PRUEBA (equery IN". Expected tokens may include: ",".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.11.69
An unexpected token "VARCHAR" was found following "RE PRUEBA (equery IN". Expected tokens may include: ",".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.11.69
NOM_ESQ.PRUEBA - Despliegue anómalo.
NOM_ESQ.PRUEBA - Anulación completada satisfactoriamente.
Please help me
