Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Fields in variable cursor
Oracle Newbie wrote:
> A stored procedure has returned a variable cursor (say rsg ). Now in SQL
> Plus how can I access the fields or columns of the record ?
> Is'nt there something like rsg(1) etc. and even if I know the field names
> rsg.ename doesnt work.
>
> thx.
>
> SQL> DECLARE
> 2 TYPE rfc IS REF CURSOR;
> 3 rsg rfc;
> 4 ename varchar(15);
> 5
> 6
> 7 BEGIN
> 8 emp_grade.GetEGrade(18,rsg); /* rsg is an output cursor parameter
> */
> 9
> 10 dbms_output.put_line(rsg.ename);
> 11 END;
> 12 /
> dbms_output.put_line(rsg.ename);
> *
> ERROR at line 10:
> ORA-06550: line 10, column 29:
> PLS-00487: Invalid reference to variable 'RSG'
> ORA-06550: line 10, column 4:
> PL/SQL: Statement ignored
I am at a complete loss to understnd what it is you are trying to do.
You declared a REF CURSOR? Why you did it as you did I have no idea (in the future use SYS_REFCURSOR) but at this point it is just a declaration of a variable: Nothing more.
Look at this:
http://www.psoug.org/reference/ref_cursors.html
For an example of working with and declaring ref cursors.
Daniel Morgan Received on Wed Jul 07 2004 - 22:55:59 CDT