使用带参数的游标。cusor c2(in_dm) is select * from table2 where dm like in_dm;
cursor c1 is select * from table1;
c1_rec c1%rowtype;
v_dm varchar2(6);
v_mc varchar2(20);
c2_rec c2%rowtype;
begin
open c1;
loop
fetch c1 into c1_rec;
exit when c1%notfound;
v_dm:=c1_rec.dm;
v_mc:=c1_rec.mc;
open c2(v_dm); --?
loop
cursor c1 is select * from table1;
c1_rec c1%rowtype;
v_dm varchar2(6);
v_mc varchar2(20);
c2_rec c2%rowtype;
begin
open c1;
loop
fetch c1 into c1_rec;
exit when c1%notfound;
v_dm:=c1_rec.dm;
v_mc:=c1_rec.mc;
open c2(v_dm); --?
loop
declare
cursor c1 is
select id1,name1 from table1;
cursor c2(v_id varchar2) is
select id2,name2 from table2 where id2=v_id;
begin
for v1_sor in c1 loop
for v2_sor in c2(v1_sor.id1) loop
....
end loop;
end loop;
end;
/
type t_cTYPE is ref cursor return a1%ROWTYPE;
t_c t_cTYPE;
begin
open t_c for select * from a1;
end;
/