В цикле не подставляется новое значение в переменную
Всем привет, при выполнении данного кода в 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;
Подскажите пожалуйста в чем может быть проблема
Источник: Stack Overflow на русском