В цикле не подставляется новое значение в переменную

Рейтинг: 0Ответов: 0Опубликовано: 26.04.2023

Всем привет, при выполнении данного кода в UPDATE не подставляется второй параметр 5833644, в rec.id почему-то повторно попадает значение 5833643

declare

  
  id_          number;
  ses_log_     varchar2(1000);
  status_sign_ varchar2(1000) := '10';
  all_id_      varchar2(32000) := '[5833643, 5833644]';
  job_title    varchar2(1000);
  comment_     varchar2(10000);
  i            number;
  

  cursor cur is
        SELECT REPLACE (REPLACE(regexp_substr(all_id_, '[^,]+', 1, 1), '[', ''), ']', '') id
          FROM dual
    CONNECT BY level <= length(regexp_replace(all_id_, '[^,]+')) + 1;
  
begin
   
i:=0;
    
   if status_sign_ = '10' then
  for rec in cur loop

     begin   
       i:=i+1;     
        update APT.REQ_STAT_APT
                 set -- ID_N_REQ_HEADS = id_,
                   OPERATOR_ID_SUPERVISOR = ses_log_,
                   SIGN_DATE_SUPERVISOR = sysdate,
                   STATUS = 80,
                     JOB_TITLE_SUPERVISOR = job_title,
                     comment_supervisor = comment_
                 where ID_N_REQ_HEADS = rec.id;
        
      end;                 
  end loop;
    end if;      
 commit;
end;

Подскажите пожалуйста в чем может быть проблема

Ответы

Ответов пока нет.