Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Fields in variable cursor

Re: Fields in variable cursor

From: Sybrand Bakker <sybrandb_at_hccnet.nl>
Date: Wed, 07 Jul 2004 19:24:38 +0200
Message-ID: <cbcoe0hadfaqvg4g7pqag7fldclbvtjp3l@4ax.com>


On Wed, 7 Jul 2004 16:30:33 +0500, "Oracle Newbie" <f93c0532_at_yahoo.com> 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
>

You have defined a *weak* ref cursor. Those ref cursors are typeless. So that is the reason why you can't refer to rsg.ename Also you can't refer to rsg(1). In which manual did you see that was possible. If it was possible, it would have been in the pl/sql reference manual.

--
Sybrand Bakker, Senior Oracle DBA
Received on Wed Jul 07 2004 - 12:24:38 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US