Oracle - Cursor vacio

   
Vista:

Cursor vacio

Publicado por maosa (14 intervenciones) el 02/11/2009 22:15:12
Buenas Tardes,

Quisiera saber si existe alguna forma de determinar si un cursor viene sin registro al abrirlo y antes de recorrerlo, la situacion es que tengo un store procedure que me devuelve el cursor, y yo quisiera dentro del mismo determinar si no tiene registro para enviar un estatus diferente con un mensaje.

Agradeciendo de antemano su colaboracion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cursor vacio

Publicado por JORGE SANCHEZ (186 intervenciones) el 03/11/2009 22:02:48
Atributos de CURSOR:

%ISOPEN Devuelve TRUE si el cursor esta abierto.
Devuelve FALSE si el cursor esta cerrado.

IF CURSOR_NOMBRE%ISOPEN THEN
CLOSE CURSOR_NOMBRE;
ELSE
OPEN CURSOR_NOMBRE;
END IF;

%FOUND Devuelve TRUE si el CURSOR trae datos. Ante de ejecutar el 1er fetch vale Null.

OPEN CURSOR_NOMBRE;
LOOP
FETCH CURSOR_NOMBRE INTO VARIABLE;
IF CURSOR_NOMBRE%FOUND THEN
SENTENCIAS;
ELSE
EXIT;
END IF;
END LOOP;
CLOSE CURSOR_NOMBRE;

%NOTFOUND Devuelve TRUE si el CURSOR NO trae datos.

OPEN CURSOR_NOMBRE;
LOOP
FETCH CURSOR_NOMBRE INTO VARIABLE;
EXIT WHEN CURSOR_NOMBRE%NOTFOUND;
SENTENCIAS;
END LOOP;
CLOSE CURSOR_NOMBRE;

%ROWCOUNT Devuelve el número de renglones encontrados por el FETCH.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar