Следующий код компилируется и работает:
begin
for l in (select 1 as v
from dual
union
select 2 as v
from dual
union
select 3 as v
from dual) loop
if l.v = 3 then
l.v := 3.14; -- > modify the cursor value ?!
end if;
dbms_output.put_line('=> ' || l.v);
end loop;
end;
=> 1
=> 2
=> 3,14
Это хорошая практикасделать это в цикле, например, изменить значение курсора?
Каковы последствия этого?Если я объявил select
в курсоре, изменяет ли он значение, когда я снова читаю курсор?
Спасибо