Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Utwórz tabelę o nazwie Przedmiot_raport. Powinna ona zawierać informacje o studentach, ktorzy uzyskali największa liczbe punktow
- -- ze zdanego egzaminu z danego przedmiotu. Studenta nalezy opisac przy pomocy identyfikatora, nazwiska i imienia.
- -- Dodatkowo podac informacje o liczbie uzyskanych punktow. Dane o studencie i liczbie punktow nalezy umiescic w kolekcji.
- CREATE OR REPLACE TYPE t_Student_Pkt AS object
- (id varchar2(7),
- nazwisko varchar2(40),
- imie varchar2(15),
- liczba_pkt NUMBER);
- CREATE OR REPLACE TYPE tkol_Studenci IS TABLE OF t_Student_Pkt ;
- CREATE TABLE Przedmiot_Raport (
- nazwa_przedmiot varchar2(50),
- lista tkol_Studenci
- ) nested TABLE lista store AS lista_tab;
- DECLARE
- cursor c1 IS SELECT id_przedmiot, nazwa_przedmiot FROM przedmioty ORDER BY 1 ;
- FUNCTION return_kol_stud(pidp NUMBER) RETURN tkol_Studenci
- IS
- kol_stud tkol_Studenci := tkol_Studenci();
- cursor c2 IS SELECT s.id_student, nazwisko, imie, punkty FROM studenci s INNER JOIN egzaminy e
- ON s.id_student = e.id_student
- WHERE e.id_przedmiot = pidp AND zdal = 'T' AND punkty = (
- SELECT MAX(punkty)
- FROM egzaminy e2
- WHERE e2.id_przedmiot = e.id_przedmiot
- AND e2.zdal = e.zdal
- ) ;
- BEGIN
- NULL;
- RETURN kol_stud ;
- END return_kol_stud;
- BEGIN
- FOR vc1 IN c1 loop
- -- kol_Roczne_Dane := return_kol_msc(vc1.rok);
- -- insert into raport values(vc1.rok, kol_roczne_dane);
- NULL;
- END loop;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement