Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> A little help debugging this procedure, please
I'm not quite getting it. It compiles with errors, and won't run.
It contains nested cursors, with the inner one (cursor2) using values from the outer one (cursor1). Probably the cursor2 should be declared outside the first FOR...LOOP?
CURSOR cursor1 IS
SELECT FIELD1
FROM TABLE
WHERE FIELD2 = || FacID ||
FOR cObject IN cursor1 LOOP
execObject := 'UPDATE TABLE SET FIELD4 = ' || i || ' WHERE FIELD1 = ' ||
cObject.FIELD1 || ';
DBMS_SQL.PARSE(DBMS_SQL.OPEN_CURSOR, execObject, DBMS_SQL.NATIVE);
CURSOR cursor2 IS
SELECT FIELD1
FROM TABLE WHERE FIELD2 = ' || FacID || ' AND FIELD3 = ' ||
cObject.FIELD1 || ';
j := 1;
FOR cObject2 in cursor2 LOOP
execObject := 'UPDATE TABLE SET FIELD4 = || (i + (j / 100)) || WHERE
FIELD1 = ' || cObject2.FIELD1 || ';
DBMS_SQL.PARSE(DBMS_SQL.OPEN_CURSOR, execObject, DBMS_SQL.NATIVE); j := j + 1;
Thanks for your help Received on Sun Aug 28 2005 - 03:50:41 CDT