passing variable which has multiple values to cursor as parameter
808570Oct 29 2010 — edited Oct 29 2010declare
i varchar2(4000):='0';
j varchar2(100):='0';
cursor c1
is
(select * from gl_je_lines
where period_name='Mar-10'
and reference_10='WRITEOFF');
cursor c2 (l_ref varchar2)
is
(select * from gl_je_lines
where period_name='Mar-10'
and reference_10='WRITEOFF'
and reference_2 not in (l_ref));
begin
for cur_record in c1
loop
j:=cur_record.reference_2;
end loop;
i:= i||','''||j||'''';
dbms_output.put_line(i);--here i has 254 values separated by ','
for cash_rec in c2(i)
loop
dbms_output.put_line('this is loop 2');
dbms_output.put_line(cash_rec.reference_2||','||cash_rec.reference_1);--Here this output is not displayed
--i think the code in this cursor c2 is not executing
--please tell me the solution
end loop;
end;
/
I already use pl-sql table with array..it is not sufficietn to my requirement.because when i use it we must increment the index of that table ..so every time not in operator works in cursor2.so it shows wrong result
From last three days i am working on this only please let me know as early as possible friends
Edited by: 805567 on Oct 28, 2010 11:30 PM
Edited by: 805567 on Oct 29, 2010 1:05 AM