Hola a todos gente! Hace un par de meses que estoy tocando PL/SQL y ahora me estoy metiendo con el Oracle 10G.
El problema es que en una aplicación que estoy haciendo, tengo el siguiente trozo de cógido que me está dando un gran dolor de cabeza pero no logro ver dónde está el fallo:
--abro un cursor para verificar si existe un cliente
OPEN C_EXISTE_CLIENTE;
FETCH C_EXISTE_CLIENTE INTO V_DNI_TITULAR;
IF C_EXISTE_CLIENTE%NOTFOUND THEN
--realizo un insert
--realizo un segundo insert
ELSE
--abro un segundo insert para, si existe el cliente, verificar si existe con el mismo --numero de tarjeta o no
OPEN C_EXISTE_TARJETA;
FETCH C_EXISTE_TARJETA INTO V_TARJETAXCLIENTE;
IF C_EXISTE_TARJETA%NOTFOUND THEN
--realizo un insert
END IF;
CLOSE C_EXISTE_TARJETA;
END IF;
--abro un tercer cursor que funcionará independientemente de los otros dos cursores
OPEN BUSCA_LOC;
WHILE (contador <= 4) LOOP
FETCH BUSCA_LOC INTO V_CODLOC;
--realizo un insert
V_CONTLOC := V_CONTLOC + 1;
END LOOP;
CLOSE BUSCA_LOC;
--realizo un insert
CLOSE C_EXISTE_CLIENTE;
Existe un fallo y no veo dónde. Sintácticamente es correcto, ya que el compilador no me tira errores, pero hay un problema que no logro ver y que hace que el programa falle.
Espero me puedan dar alguna mano. Muchas gracias desde ahora.