Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. set serveroutput on
  2. create or replace procedure vypis_priemer
  3. is
  4. type zaznam is record (
  5. z_meno os_udaje.meno%type,
  6. z_priezvisko os_udaje.priezvisko%type,
  7. z_priemer number
  8. );
  9. type pole_zaznam is table of zaznam;
  10. pole_studentov pole_zaznam;
  11. i integer;
  12. begin
  13. select ou.meno, ou.priezvisko,
  14. round((sum(zp.ects * decode(zp.vysledok, 'A', 1, 'B', 1.5, 'C', 2, 'D', 2.5, 'E', 3, 4))/
  15. sum(zp.ects)), 2) as vaz_priemer
  16. bulk collect into pole_studentov
  17. from os_udaje ou
  18. join student s on (ou.rod_cislo = s.rod_cislo)
  19. join zap_predmety zp on (s.os_cislo = zp.os_cislo)
  20. join predmet_bod pb on (zp.skrok = pb.skrok and zp.cis_predm = pb.cis_predm)
  21. where (pb.forma_kont = 's'
  22. or pb.forma_kont = 'e')
  23. group by ou.meno, ou.priezvisko, ou.rod_cislo, s.os_cislo
  24. order by vaz_priemer;
  25.  
  26. for i in 1 .. pole_studentov.count loop
  27. dbms_output.put_line(pole_studentov(i).z_meno || '|' || pole_studentov(i).z_priezvisko || '|' || pole_studentov(i).z_priemer);
  28. end loop;
  29. end;
  30. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement