Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problema con cursores en PL/SQL

Estas en el tema de Problema con cursores en PL/SQL en el foro de Programación General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/06/2009, 11:04
 
Fecha de Ingreso: junio-2009
Mensajes: 10
Antigüedad: 15 años, 5 meses
Puntos: 1
Problema con cursores en PL/SQL

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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:39.