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: A little help debugging this procedure, please

Re: A little help debugging this procedure, please

From: DA Morgan <damorgan_at_psoug.org>
Date: Sun, 28 Aug 2005 11:12:24 -0700
Message-ID: <1125252693.561064@yasure>


Dave wrote:
> "DFS" <nospam_at_dfs_.com> wrote in message
> news:BYeQe.6248$Yh6.4077_at_fe04.lga...
>
>
> CREATE OR REPLACE PROCEDURE SetEventNbr (FacID IN INTEGER) IS
> BEGIN
>
> DECLARE
> i NUMBER := 1;
> j NUMBER := 1;
> execObject VARCHAR2(200);
> objectCursor INTEGER;
>
> CURSOR cursor1 IS
> SELECT FIELD1
> FROM TABLE
> WHERE FIELD2 = FacID;
>
> FOR cObject IN cursor1 LOOP
> UPDATE TABLE SET FIELD4 = i WHERE FIELD1 = cObject.FIELD1;
>
> CURSOR cursor2 IS
> SELECT FIELD1
> FROM TABLE WHERE FIELD2 = FacID AND FIELD3 = cObject.FIELD1;
>
> FOR cObject2 in cursor2 LOOP
> UPDATE TABLE SET FIELD4 = (i + (j / 100)) WHERE FIELD1 =
> cObject2.FIELD1;
> j := j + 1;
> END LOOP;
> i := i + 1;
> END LOOP;
> END SetEventNbr;

This is an inappropriate use of a CURSOR. Review the syntax for bulk collection.

www.psoug.org
click on Morgan's Library
click on Bulk Collection

-- 
Daniel A. Morgan
http://www.psoug.org
damorgan_at_x.washington.edu
(replace x with u to respond)
Received on Sun Aug 28 2005 - 13:12:24 CDT

Original text of this message

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