Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- declare
- type tt_proj is table of projekat%rowtype index by binary_integer;
- t_proj tt_proj;
- brojac number;
- procedure pr(t_proj out tt_proj)
- is
- i number := 0;
- cursor sel_proj
- is
- select * from projekat;
- begin
- for v_proj in sel_proj loop
- t_proj(i) := v_proj;
- i := i+1;
- end loop;
- end pr;
- begin
- pr(t_proj);
- brojac := t_proj.first;
- while brojac <= t_proj.last loop
- dbms_output.put_line('SPR: ' || t_proj(brojac).spr || ', NAP: ' || t_proj(brojac).nap);
- brojac := t_proj.next(brojac);
- end loop;
- end;
- declare
- type tt_mbrs is table of radnik.mbr%type index by binary_integer;
- type slog is record (
- proj projekat%rowtype,
- t_mbrs tt_mbrs
- );
- type tt_projmbrs is table of slog index by binary_integer;
- t_projmbrs tt_projmbrs;
- br_pr number;
- br_mbr number;
- procedure pr(t_projmbrs out tt_projmbrs)
- is
- i number := 0;
- j number;
- cursor sel_proj
- is
- select * from projekat;
- cursor sel_mbrs(p_spr projekat.spr%type)
- is
- select mbr from radproj where spr = p_spr;
- begin
- for v_proj in sel_proj loop
- t_projmbrs(i).proj := v_proj;
- j := 0;
- for v_mbr in sel_mbrs(v_proj.spr) loop
- t_projmbrs(i).t_mbrs(j) := v_mbr.mbr;
- j := j+1;
- end loop;
- i := i+1;
- end loop;
- end pr;
- begin
- pr(t_projmbrs);
- br_pr := t_projmbrs.first;
- while br_pr <= t_projmbrs.last loop
- dbms_output.put_line('SPR: ' || t_projmbrs(br_pr).proj.spr || ', NAP: ' || t_projmbrs(br_pr).proj.nap);
- dbms_output.put_line('MBRS:');
- br_mbr := t_projmbrs(br_pr).t_mbrs.first;
- while br_mbr <= t_projmbrs(br_pr).t_mbrs.last loop
- dbms_output.put_line(chr(9) || t_projmbrs(br_pr).t_mbrs(br_mbr));
- br_mbr := t_projmbrs(br_pr).t_mbrs.next(br_mbr);
- end loop;
- br_pr := t_projmbrs.next(br_pr);
- end loop;
- end;
- declare
- type tt_mbrs is table of radnik.mbr%type index by binary_integer;
- type slog is record (
- proj projekat%rowtype,
- t_mbrs tt_mbrs
- );
- type tt_projmbrs is table of slog index by binary_integer;
- t_projmbrs tt_projmbrs;
- br_pr number;
- br_mbr number;
- function fun
- return tt_projmbrs
- is
- i number := 0;
- j number;
- cursor sel_proj
- is
- select * from projekat;
- cursor sel_mbrs(p_spr projekat.spr%type)
- is
- select mbr from radproj where spr = p_spr;
- t_projmbrs tt_projmbrs;
- begin
- for v_proj in sel_proj loop
- t_projmbrs(i).proj := v_proj;
- j := 0;
- for v_mbr in sel_mbrs(v_proj.spr) loop
- t_projmbrs(i).t_mbrs(j) := v_mbr.mbr;
- j := j+1;
- end loop;
- i := i+1;
- end loop;
- return t_projmbrs;
- end fun;
- begin
- t_projmbrs := fun;
- br_pr := t_projmbrs.first;
- while br_pr <= t_projmbrs.last loop
- dbms_output.put_line('SPR: ' || t_projmbrs(br_pr).proj.spr || ', NAP: ' || t_projmbrs(br_pr).proj.nap);
- dbms_output.put_line('MBRS:');
- br_mbr := t_projmbrs(br_pr).t_mbrs.first;
- while br_mbr <= t_projmbrs(br_pr).t_mbrs.last loop
- dbms_output.put_line(chr(9) || t_projmbrs(br_pr).t_mbrs(br_mbr));
- br_mbr := t_projmbrs(br_pr).t_mbrs.next(br_mbr);
- end loop;
- br_pr := t_projmbrs.next(br_pr);
- end loop;
- end;
- declare
- type tt_radnik table of radnik%rowtype index by binary_integer;
- t_radnik tt_radnik;
- function fun(p_1 varchar, p_2 varchar, p_3 varchar)
- return tt_radnik
- is
- dyn_stm varchar(200) := 'select * from radnik order by ' || p_1 || ', ' || p_2 || ', ' || p_3 || '; ';
- t_radnik tt_radnik;
- i number := 0;
- cursor cur
- is
- execute immediate dyn_stm;
- begin
- for v_rad in cur loop
- t_radnik(i) := v_rad;
- i := i+1;
- end loop;
- return t_radnik;
- end fun;
- begin
- t_radnik := fun('mbr', 'prz', 'ime');
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement