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: Oracle Newbie <f93c0532_at_yahoo.com>
Date: Thu, 8 Jul 2004 09:38:38 +0500
Message-ID: <2l41d3F7v8i1U1@uni-berlin.de>

"Sybrand Bakker" <sybrandb_at_hccnet.nl> wrote in message news:cbcoe0hadfaqvg4g7pqag7fldclbvtjp3l_at_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

 How do I declare strong type if the cursor contains only selected fields from a table?

> 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 - 23:38:38 CDT

Original text of this message

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