Advertisement
Smudla

IDAS2_CV6_homefork

Nov 22nd, 2015
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.44 KB | None | 0 0
  1. CREATE OR REPLACE PACKAGE pck_cv6 AS
  2.  
  3. FUNCTION student_prumer(p_id_studenta VARCHAR2) RETURN NUMBER;
  4. PROCEDURE ucitel_seznam(p_id_ucitele NUMBER);
  5. FUNCTION seznam_predmetu(p_id_studenta VARCHAR2) RETURN VARCHAR2;
  6.  
  7. END pck_cv6;
  8.  
  9. CREATE OR REPLACE PACKAGE BODY pck_cv6 AS
  10.  
  11. FUNCTION student_prumer(p_id_studenta VARCHAR2)
  12.   RETURN NUMBER
  13.   AS v_prumer NUMBER;
  14. BEGIN
  15. SELECT ROUND(AVG(znamka),2) AS prumer INTO v_prumer FROM A_SKOLA.uci
  16. join A_SKOLA.studenti using (ID_STUDENTA)
  17. WHERE ID_studenta LIKE p_id_studenta
  18. GROUP BY ID_STUDENTA;
  19. RETURN (v_prumer);
  20. END student_prumer;
  21.  
  22. PROCEDURE ucitel_seznam(p_id_ucitele IN NUMBER)
  23. AS
  24. v_jmeno VARCHAR2(30);
  25. v_prijmeni VARCHAR2(30);
  26. BEGIN
  27. SELECT DISTINCT jmeno, prijmeni INTO v_jmeno,v_prijmeni
  28. FROM A_skola.ucitele
  29. join A_SKOLA.uci using(id_ucitele)
  30. WHERE id_ucitele=p_id_ucitele;
  31. DBMS_OUTPUT.put_line('Ucitel:' || v_jmeno || ' ' || v_prijmeni );
  32. FOR z IN (SELECT DISTINCT predmet,id_ucitele FROM A_skola.uci WHERE id_ucitele=p_id_ucitele)
  33. LOOP
  34. DBMS_OUTPUT.put_line('');
  35. DBMS_OUTPUT.put_line('Predmet: ' || z.predmet);
  36. DBMS_OUTPUT.put_line('*****');
  37.   FOR x IN (
  38.   SELECT DISTINCT predmet, id_ucitele, id_studenta, Studenti.jmeno, Studenti.prijmeni, znamka
  39.   FROM A_skola.uci
  40.   join A_skola.ucitele using(ID_UCITELE)
  41.   join A_skola.studenti using(id_studenta)
  42.   WHERE id_ucitele=p_id_ucitele
  43.   )
  44.     LOOP
  45.       IF x.znamka IS NULL
  46.       THEN
  47.       DBMS_OUTPUT.put_line(x.jmeno || ' ' || x.prijmeni || '(' || 'X' || ')');
  48.       ELSE
  49.       DBMS_OUTPUT.put_line(x.jmeno || ' ' || x.prijmeni || '(' || x.znamka || ')');
  50.       END IF;
  51.     END LOOP;
  52. END LOOP;
  53. EXCEPTION
  54. WHEN NO_DATA_FOUND THEN
  55.       DBMS_OUTPUT.put_line('Error 404, no such teacher found!');
  56. END;
  57.  
  58.  
  59.  FUNCTION seznam_predmetu(p_id_studenta VARCHAR2)
  60. RETURN VARCHAR2
  61. AS
  62. v_seznamFkinPredmetu VARCHAR2(200);
  63. BEGIN
  64. FOR X IN (SELECT ID_studenta, ID_ucitele, jmeno, prijmeni, predmet
  65. FROM A_skola.ucitele
  66. join A_skola.uci using (id_ucitele)
  67. WHERE id_studenta = p_id_studenta
  68. ORDER BY prijmeni)
  69. LOOP
  70. v_seznamFkinPredmetu:= v_seznamFkinPredmetu || x.predmet || '('|| x.jmeno || ' ' || x.prijmeni || ')'||';';
  71. END LOOP;
  72. IF(v_seznamFkinPredmetu IS NOT NULL)
  73. THEN
  74. RETURN v_seznamFkinPredmetu;
  75. ELSE
  76.      v_seznamFkinPredmetu:='Student je debil jako muj spolubydlici a tak misto toho aby si zapsal predmety radsi pari STAR WARS battlefront';
  77.     RETURN v_seznamFkinPredmetu;
  78. END IF;
  79. END seznam_predmetu;
  80.  
  81. END pck_cv6;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement