for r in (
select i, t
into rec.i, rec.t -- Hmm???
from tq84_foo
)
loop
....
end loop;
My understanding is that the INTO
clause should not be valid because the select statement is embeded in a FOR r IN (SELECT...)
loop. Yet, it compiles, at least in Oracle 11i.
Here's a little test script for demonstration purposes:
create table tq84_foo (
i number,
t varchar2(10)
);
insert into tq84_foo values (1, 'abc');
insert into tq84_foo values (2, 'def');
declare
rec tq84_foo%rowtype;
begin
for r in (
select i, t
into rec.i, rec.t -- Hmm???
from tq84_foo
)
loop
dbms_output.put_line('rec: i= ' || rec.i || ', t=' || rec.t);
end loop;
end;
/
drop table tq84_foo purge;
The output is
rec: i= , t=
rec: i= , t=
Links
My according question on stackoverflow