createorreplacepackagebodyType_demois procedureprocess1(p_recordint1%rowtype) as begin dbms_output.put_line(p_record.tablespace_name); end; procedureprocess_data(p_inputsinvarchar2) as begin forxin(select*fromt1wheretable_namelikep_inputs) loop process1(x); endloop; end; endType_demo;
createorreplacepackagebodyType_demois procedureprocess2(p_recordintemplate_cursor%rowtype) as begin dbms_output.put_line(p_record.tablespace_name); end; procedureprocess_data(p_cnameinvarchar2,p_inputsinvarchar2) as --l_cursorrc; l_cursorsys_refcursor; l_rectemplate_cursor%rowtype; begin openl_cursor for 'selecttable_name,tablespace_namefromt1where'||p_cname||'like:x'usingp_inputs; loop fetchl_cursorintol_rec; exitwhenl_cursor%notfound; process2(l_rec); endloop; end; endType_demo;