Если вы хотите пойти на неприятности, объедините переменные, которые имеют смысл, в записи.Вы можете определить свою рабочую запись и инициализированную запись, которая никогда не изменяется, и вы можете скопировать инициализированную запись в рабочую запись за один раз.
declare
type t_rec is record(
v1 number,
v2 varchar2(22),
v3 integer,
v4 date
);
c constant t_rec := new t_rec(0, null, 0, null);
l t_rec;
begin
for i in 1..3 loop
l := c;
dbms_output.put_line(l.v1);
select 1, 'a', 2, sysdate into l from dual;
dbms_output.put_line(l.v1);
end loop;
end;
/
PL/SQL procedure successfully completed.
0
1
0
1
0
1