pl/sql用for in和for select into循环遍历表

2022-04-02 10:16:35 浏览数 (4)

create or replace procedure test_procedure_job

as v1 varchar2(50); v2 varchar2(50); v3 varchar2(50); begin for v1 in (select t.id from test_table t) loop select t.username,t.password into v2,v3 from sshtest t where t.id = v1.id; dbms_output.put_line(v1.id || ',' || v2 || ',' || v3); end loop; end test_procedure_job;

原来,for in 取出来的v1,是一个虚表。里面有一个属性id。

所以在循环里面,不是用v1,而是用v1.id。试了很久,郁闷。

然后,循环里面,用了select into。直接用v2,v3。真神奇。

这里竟然和v1不同。

长见识了……

0 人点赞