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

Home -> Community -> Mailing Lists -> Oracle-L -> Re[2]: For i (Select..)

Re[2]: For i (Select..)

From: <dgoulet_at_vicr.com>
Date: Tue, 02 Oct 2001 06:55:50 -0700
Message-ID: <F001.0039EAC4.20011002070021@fatcity.com>

You can do all three, but if you do not declare it you can't use the 'for update of' clause. Of course the 'for i in ()loop' does replace a lot of lines of code.

Dick Goulet

____________________Reply Separator____________________
Author: "Steve Smith" <ssmith_at_ai.com>
Date:       10/1/2001 7:50 PM

You can also use the for loop - end loop with explicit cursors.. You don't have to define the cursor in the loop itself.. That is my preferred method (defining the cursor in the declare section and referencing it in the for loop).. There really isn't any more work defining the cursor up front and then using the "for loop" as there is using the "for loop" and defining the cursor in the loop..

Steve

> If you only use a cursor in this manner, the only place that the cursor
can
> be used is in the particular For Loop in which it is defined - it can't be
> shared by other procedures or functions.
>
> If you design and create packaged public cursors, they can be reused from
> other stored procedures and/or client side programs.
>
> Code reuse is just one advantage. When table structures change - as they
> invariably do - you have only a few cursors to change, instead of a
> bazillion Cursor For Loops. Also, you can more easily tune a few public
> cursors.
>
> I'd also recommend passing in Table%RowType arguments to your public
cursors
> and specifying that they return Table%RowType records. That further
> isolates your code from table changes.
>
> Jack
>
> --------------------------------
> Jack C. Applewhite
> Database Administrator/Developer
> OCP Oracle8 DBA
> iNetProfit, Inc.
> Austin, Texas
> www.iNetProfit.com
> japplewhite_at_inetprofit.com
> (512)327-9068
>
>
> -----Original Message-----
> Zsolt
> Sent: Monday, October 01, 2001 6:15 PM
> To: Multiple recipients of list ORACLE-L
>
>
> Hi,
>
> If this code is a cursor then why doesn't everybody use it this way?
>
> For me it seems a lot simplier and easier than declaring a cursor in a
> "normal" way.
>
> At 14:50 2001.10.01. -0800, you wrote:
> >the code IS a cursor
> >
> >
> >--- Csillag Zsolt <starsoft_at_interware.hu> wrote:
> > >
> > >
> > > Hi,
> > >
> > >
> > > I've read in Tom Kyte's book the following technique:
> > >
> > >
> > > For i in (Select statement ) Loop
> > >
> > > Process records here
> > >
> > > End Loop ;
> > >
> > > I have tried it and it works great.
> > >
> > > The question is that what is the difference betwen a cursor and the
> > > code above?
> > > Which is more efficient?
> > >
> > >
>
> Zsolt Csillag
> Hungary
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> --
> Author: Jack C. Applewhite
> INET: japplewhite_at_inetprofit.com
>
> 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: ListGuru_at_fatcity.com (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).
>

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Steve Smith
  INET: ssmith_at_ai.com

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: ListGuru_at_fatcity.com (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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: 
  INET: dgoulet_at_vicr.com

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: ListGuru_at_fatcity.com (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).
Received on Tue Oct 02 2001 - 08:55:50 CDT

Original text of this message

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