Re: Which is beter a cursor or a for loop?
Proof of pudding is in eating Whip up a couple of examples and check out the timings. I suspect the CURSOR FOR LOOPS would run faster. I recall a similar mention by Tom Kyte in Oracle magazine while answering a question about explicit and implicit cusrsors. Unlike the conventional wisdom (a.k.a Feuerstein's recommendation in his best selling books) to use explicit cursors, he showed via an example how and why the implicit cursors are better (Key difference was the processing PL/SQL had to do for the explicit cursor). It is pretty much the same for FOR LOOP (it opens, closes and fetches from the cursor for you) and is likly to run faster. - Sundeep --- Denham Eva [EMAIL PROTECTED] wrote: Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner _ DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be the views of any such entity. _ This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal For more information please visit www.marshalsoftware.com _ = Sundeep Maini Consultant Currently on Assignement at Caterpillar Peoria [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: sundeep maini INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
RE: Which is beter a cursor or a for loop?
I would suggest that the cursor is the best way to go. -Original Message- Sent: 24 February 2003 08:39 To: Multiple recipients of list ORACLE-L Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner _ DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be views of any such entity. _ _ This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal - For more information please visit http://www.marshalsoftware.com www.marshalsoftware.com _ -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Thomas, Kevin INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
RE: Which is beter a cursor or a for loop?
Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner Down with loops. Regards, Stephane Faroult Oriole -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Stephane Faroult INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
RE: Which is beter a cursor or a for loop?
--_=_NextPart_001_01C2DBF5.0AC6B3E0 Content-Type: text/plain; charset=iso-8859-1 Denham The for loop is a lot easier to read. It can be a real pain scrolling to the top every time you want to see what such-and-such a cursor is doing. On the other hand, it can be a bit limiting in more 'advanced' situations - eg. you can't mess around with cursor%rowtype variables and you can't fetch from the cursor in more than one place. Regards David Lord -Original Message- Sent: 24 February 2003 08:39 To: Multiple recipients of list ORACLE-L Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner _ DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be views of any such entity. _ _ This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal - For more information please visit http://www.marshalsoftware.com www.marshalsoftware.com _ ** This message (including any attachments) is confidential and may be legally privileged. If you are not the intended recipient, you should not disclose, copy or use any part of it - please delete all copies immediately and notify the Hays Group Email Helpdesk at [EMAIL PROTECTED] Any information, statements or opinions contained in this message (including any attachments) are given by the author. They are not given on behalf of Hays unless subsequently confirmed by an individual other than the author who is duly authorised to represent Hays. A member of the Hays plc group of companies. Hays plc is registered in England and Wales number 2150950. Registered Office Hays House Millmead Guildford Surrey GU2 4HJ. ** --_=_NextPart_001_01C2DBF5.0AC6B3E0 Content-Type: text/html; charset=iso-8859-1 !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN HTMLHEAD META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=iso-8859-1 TITLEWhich is beter a cursor or a for loop?/TITLE META content=MSHTML 6.00.2716.2200 name=GENERATOR/HEAD BODY DIVSPAN class=741430311-24022003FONT face=Courier New size=2Denham/FONT/SPAN/DIV DIVSPAN class=741430311-24022003FONT face=Courier New size=2/FONT/SPANnbsp;/DIV DIVSPAN class=741430311-24022003FONT face=Courier New size=2The for loop is a lot easier to read.nbsp; It can be a real pain scrolling to the top every time you want to see what such-and-such a cursor is doing.nbsp; On the other hand, it can be a bit limiting in more 'advanced' situations - eg. you can't mess around with cursor%rowtype variables and you can't fetch from the cursor in more than one place./FONT/SPAN/DIV DIVSPAN class=741430311-24022003FONT face=Courier New size=2/FONT/SPANnbsp;/DIV DIVSPAN class=741430311-24022003FONT face=Courier New size=2Regards/FONT/SPAN/DIV DIVSPAN class=741430311-24022003FONT face=Courier New size=2David Lord/FONT/SPAN/DIV BLOCKQUOTE style=PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #00 2px solid DIV class=OutlookMessageHeader dir=ltr align=leftFONT face=Tahoma size=2-Original Message-BRBFrom:/B Denham Eva [mailto:[EMAIL PROTECTED]BRBSent:/B 24 February 2003 08:39BRBTo:/B Multiple recipients of list ORACLE-LBRBSubject:/B Which is beter a cursor or a for loop?BRBR/FONT/DIV PFONT face=Arial size=2Hello,/FONT /P PFONT face=Arial size=2I was just asked by one of our developers which is beter to use:-/FONT BRFONT face=Arial size=2a cursor or a for loop?/FONT BRFONT face=Arial size=2I must admit I am not sure/FONT /P
RE: Which is beter a cursor or a for loop?
-Original Message- Sent: 24 February 2003 08:39 To: Multiple recipients of list ORACLE-L Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure humour on That's like asking I have a Porsche. What's the fastest way to make it move ... to push it, or pull it? The answer would have to be neither ... drive the thing the way it's been engineered to perform. humour off If your developers don't understand the power of set-based logic in RDBMS, then now's the time to teach them. (Yeah, OK, depending on the complexity of the 'do lots of database stuff', you might need to resort to cursors or loops. But these shouldn't be the first option!) Just my 2¢ Ciao Fuzzy :-) -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Grant Allen INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
Re: Which is beter a cursor or a for loop?
It's purely syntactical sugar unless you use the BULK features of the explicit cursor, in which case, you may gain some performance. /Bjrn. Denham Eva wrote: Which is beter a cursor or a for loop? Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be views of any such entity. This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal - For more information please visit www.marshalsoftware.com -- Bjrn Engsig, Miracle A/S Member of Oak Table Network [EMAIL PROTECTED] - http://MiracleAS.dk
Re: Which is beter a cursor or a for loop?
Both use cursors, but a FOR loop is more concise coding. Technically, they are exactly equivalent; the differences are just stylistic... - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: Monday, February 24, 2003 3:08 AM I would suggest that the cursor is the best way to go. -Original Message- Sent: 24 February 2003 08:39 To: Multiple recipients of list ORACLE-L Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner _ DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be views of any such entity. _ _ This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal - For more information please visit http://www.marshalsoftware.com www.marshalsoftware.com _ -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Thomas, Kevin INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Tim Gorman INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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).
Re: Which is beter a cursor or a for loop?
If you are after the n'th degree performance then the: for x in (select ... ) will be minisculely faster (simply because its slightly less code and plsql is interpreted). And unless I have a particular need for the cursor %attributes, or the cursor needs to be passed around I prefer the sql directly in the for-loop. I don't have to hunt up through the procedure/package to find the cursor definition, and (subjectively) I find it easier to read. hth connor --- Tim Gorman [EMAIL PROTECTED] wrote: Both use cursors, but a FOR loop is more concise coding. Technically, they are exactly equivalent; the differences are just stylistic... - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: Monday, February 24, 2003 3:08 AM I would suggest that the cursor is the best way to go. -Original Message- Sent: 24 February 2003 08:39 To: Multiple recipients of list ORACLE-L Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner _ DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be views of any such entity. _ _ This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal - For more information please visit http://www.marshalsoftware.com www.marshalsoftware.com _ -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Thomas, Kevin INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Tim Gorman INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - 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). = Connor McDonald web: http://www.oracledba.co.uk web: http://www.oaktable.net email: [EMAIL PROTECTED] GIVE a man a fish and he will eat for a day. But TEACH him how to fish, and...he will sit in a boat and drink beer all day __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: =?iso-8859-1?q?Connor=20McDonald?= INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California-- Mailing list and web hosting services - To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note
RE: Which is beter a cursor or a for loop?
Title: RE: Which is beter a cursor or a for loop? Thanks everyone! Regards Denham -Original Message- From: Connor McDonald [mailto:[EMAIL PROTECTED]] Sent: Monday, February 24, 2003 4:59 PM To: Multiple recipients of list ORACLE-L Subject: Re: Which is beter a cursor or a for loop? If you are after the n'th degree performance then the: for x in (select ... ) will be minisculely faster (simply because its slightly less code and plsql is interpreted). And unless I have a particular need for the cursor %attributes, or the cursor needs to be passed around I prefer the sql directly in the for-loop. I don't have to hunt up through the procedure/package to find the cursor definition, and (subjectively) I find it easier to read. hth connor --- Tim Gorman [EMAIL PROTECTED] wrote: Both use cursors, but a FOR loop is more concise coding. Technically, they are exactly equivalent; the differences are just stylistic... - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: Monday, February 24, 2003 3:08 AM I would suggest that the cursor is the best way to go. -Original Message- Sent: 24 February 2003 08:39 To: Multiple recipients of list ORACLE-L Hello, I was just asked by one of our developers which is beter to use:- a cursor or a for loop? I must admit I am not sure Anyway the specific piece of code in discussion is similar to the following FOR X IN (SELECT X FROM TABLE_NAME WHERE COL1 = 'Something')) LOOP Do a whole lot of stuff in database here.. LOOP END; I would guess that the cursor would follow similar execution criteria but using the cursor syntax. Any ideas? TIA regards Denham Eva Oracle DBA The real problem is not whether machines think but whether men do. - B. F. Skinner _ DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks. Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be views of any such entity. _ _ This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal - For more information please visit http://www.marshalsoftware.com www.marshalsoftware.com _ -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Thomas, Kevin INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services - 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). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Tim Gorman INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services - 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). = Connor McDonald web: http://www.oracledba.co.uk web: http://www.oaktable.net email: [EMAIL PROTECTED] GIVE a man a fish and he will eat for a day. But TEACH him how to fish, and...he will sit in a boat and drink beer all day __ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: =?iso-8859-1?q?Connor=20McDonald?= INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing