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 [EMAIL PROTECTED] (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 <[EMAIL PROTECTED]> 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: [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).
