Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

UPDATE statement inside FOR Loop

2795332Oct 13 2015 — edited Oct 16 2015

Hi,

Could you suggest on below, I need to update the record after inserting to table xxbic_aop_inv_ext.

    PROCEDURE main(errbuf  OUT VARCHAR2,

                                   retcode OUT NUMBER)

    IS

    CURSOR cur_bo_file_ext

    IS

    SELECT *

    FROM xxaop_div_op; 

    TYPE  p_get_records IS TABLE OF cur_bo_file_ext%ROWTYPE

     INDEX BY BINARY_INTEGER;

   l_get_records  p_get_records;

  l_acct_number  VARCHAR2(30);

  l_attr_15      VARCHAR2(150);

  l_next_check   VARCHAR2(1);

  BEGIN

   

  l_get_records.DELETE;

  OPEN cur_bo_file_ext;

  LOOP

  FETCH cur_bo_file_ext

  BULK COLLECT INTO l_get_records LIMIT 25000;

  EXIT WHEN l_get_records.COUNT = 0;

     FOR i IN 1..l_get_records.COUNT

     LOOP

  

     IF l_get_records(i).legacy_item_number IS NULL

     THEN

  

        INSERT INTO xxbic_aop_inv_ext

        VALUES l_get_records(i);

   

       UPDATE xxaop_div_op

           SET processed_flag = 'E'

        WHERE CURRENT OF l_get_records(i);   -- wrong statement

    COMMIT;

  ELSE

                    --rest of the logic

  END IF;

     END LOOP;

  END LOOP;

  CLOSE cur_bo_file_ext;

    EXCEPTION

    WHEN OTHERS THEN

         dbms_output.put_line('Main Exception :'||sqlerrm);

    END;  

Thanks.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 13 2015
Added on Oct 13 2015
10 comments
5,571 views