Cursor Expression in PL/SQL Developer 7

I am getting an error (ORA-01001:invalid cursor) when I have a where clause on a SQL statement that has a cursor expression when I try to access the cursor from the cursor expression by clicking on the "..." in the result cell for the cursor. If I remove the where clause I do not get the error. I am using the Oracle 10.2.0.2 Oracle client to access an Oracle database on the same version. I do not get the error if I use SQL*Plus or Toad. Thoughts?

Receive the Error:
select o.fsr_oper_key
,o.oper_nm
,cursor(select *
from fsetl.fsr_cntct c
where o.fsr_oper_key = c.fsr_oper_key) as cntct_cur
from fsetl.fsr_oper o
where o.fsr_oper_key = 279314;

Do not Receive the Error:
select o.fsr_oper_key
,o.oper_nm
,cursor(select *
from fsetl.fsr_cntct c
where o.fsr_oper_key = c.fsr_oper_key) as cntct_cur
from fsetl.fsr_oper o;
 
I am not sure what you mean by "Are the cursor instances different for the 2 result sets?". Both of the above queries return the same fields and the nested cursors also return the same number of fields. The issue only surfaces with the second query (with the where clause) when run from pl/sql developer. This works fine in other tools.
 
Back
Top