Cita:
Iniciado por jc3000 un cursor solo se abre si tiene algo que devolver
Agradezco tu repuesta, pero si ejecutas el siguiente bloque anónimo (con un user DBA) observarás en la salida que el cursor se abre a pesar que no tiene registros, por tanto, comprobar si está abierto o no, no me funciona.
Código SQL:
Ver originalDECLARE
vCursor sys_refcursor;
BEGIN
OPEN vCursor FOR
SELECT * FROM sys.all_objects a
WHERE a.owner = 'OWNER_NO_EXISTENTE';
IF vCursor%isopen THEN
dbms_output.put_line('El cursor está abierto, se procede a cerrarlo.');
close vCursor;
ELSE
dbms_output.put_line('El cursor NO está abierto.');
END IF;
exception
WHEN others THEN
dbms_output.put_line(sqlerrm);
END;
Saludos.