Lots of examples avlbl from Concepts manual; also pl check asktom.com
Step 1) Declare a ref cursor inside a package
CREATE PACKAGE APACK AS
TYPE RefCurTyp IS REF CURSOR;
END APACK;
Step 2) Employ the ref curosr IN OUT variable inside the procedure..note
that the cursor is opened but not fetched..
PROCEDURE demo_ref (
refcurvar IN OUT RefCurTyp,
choice NUMBER) IS
BEGIN
IF choice = 1 THEN
OPEN refcurvar FOR SELECT * FROM emp;
ELSIF choice = 2 THEN
OPEN refcurvar FOR SELECT * FROM dept;
ELSIF choice = 3 THEN
OPEN refcurvar FOR SELECT * FROM sal;
END IF;
END demo_ref;
>From: "Igor Neyman" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]>
>Subject: Re: what pl/sql construct can return multiple rows?
>Date: Tue, 19 Mar 2002 08:08:35 -0800
>
>Use Ref Cursor (reference cursor) as a parameter in stored procedure.
>Sorry, don't have handy sample code, but you can lookup one in any PL/SQL
>book or docs.
>
>Igor Neyman, OCP DBA
>[EMAIL PROTECTED]
>
>
>----- Original Message -----
>To: "Multiple recipients of list ORACLE-L" <[EMAIL PROTECTED]>
>Sent: Tuesday, March 19, 2002 8:58 AM
>
>
> > Hi,
> >
> > Is there a way to write a procedure to return multiple rows? I have
>some
> > nasty SQL that I'd like to convert to run server-side, but how do you
>spit
> > out multiple rows from PL/SQL?
> >
> > thx
> >
> >
> > Bill Magaliff
> > Framework, Inc.
> > 914-631-2322
> >
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Madhusudhanan Sampath
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).