Laboratorium plsql1


zad1)
declare
i number:=1;
cursor kur_stud is select nazwisko, imie from studenci;
stud kur_stud%rowtype;
begin
for stud in kur_stud loop
dbms_output.put_line(i||' '||stud.nazwisko||' '||stud.imie);
dbms_output.put_line('------------');
i:=i+1;
end loop;
end;
/

wywołujemy set serveroutput on;

zad2)

declare
cursor kur_osr is select nazwa_o, count(e.id_osrodek)as ile from osrodki o, egzaminy e
where e.id_osrodek(+)=o.id_osrodek
group by nazwa_o;
osr kur_osr%ROWTYPE;
begin
for osr in kur_osr loop
if osr.ile = 0 then
dbms_output.put_line(osr.nazwa_o||' - w osrodku nie przeprowadzono egzaminów');
elsif osr.ile < 11 then
dbms_output.put_line(osr.nazwa_o||' - w osrodku przeprowadzono najwyzej 10 egzaminow');
else
dbms_output.put_line(osr.nazwa_o||' - w osrodku przeprowadzono wiecej niz 10 egzaminow');
end if;
end loop;
end;

/

zad3)

declare
id_s studenci.id_student%type;
cursor kur_stud is select id_student, nazwisko, imie from studenci where nazwisko like 'S%';
cursor kur_egz is select nazwa_o, nazwa_p, zdal from osrodki o, przedmioty p, egzaminy e
where e.id_przedmiot=p.id_przedmiot and o.id_osrodek=e.id_osrodek and id_student=id_s;
stud kur_stud%rowtype;
egz kur_egz%rowtype;
begin
for stud in kur_stud loop
id_s:=stud.id_student;
dbms_output.put_line(stud.nazwisko||' '||stud.imie);
for egz in kur_egz loop
dbms_output.put_line(egz.nazwa_o||' '||egz.nazwa_p||' '||egz.zdal);
dbms_output.put_line('----------------------');
end loop;
end loop;
end;
/



zad4)
declare
cursor kur_egz is select id_egzaminator, pensja from egzaminy p1
where 2>(select count(*) from egzaminatorzy e2
where e2.pensjaegz kur_egz%rowtype
begin
for egz in kur_egz loop
update egzaminatorzy set pensja=1.05*pensja
where id.egzaminator=egz.id_egzaminator;
end loop;
end;
/

declare //deklaracja zmiennych
stu studenci.idstudent%TYPE;
stud studenci%ROWTYPE;
i number(2);

----------------------------------------------------------------------
1. // zaby wyswietlac na konsole: set serveroutput on; gdyby nie dzialalo
declare
cursor kur_stud is select nazwisko, imie from studenci;
stud kur_stud%ROWTYPE;
i number:=1;
begin
for stud in kur_stud loop
dbms_output.put_line(i||' '||stud.imie||' '||stud.nazwisko);
i:=i+1;
end loop;
end;

2.
declare
cursor kur_osr is select nazwa_o, count(e.id_osrodek) ile
from osrodki o, egzaminy e
where e.id_osrodek(+)=o.id_osrodek
group by nazwa_o;
osr kur_osr%ROWTYPE;
begin
for osr in kur_osr loop
if osr.ile = 0 then
dbms_output.put_line(osr.nazwa_o||' - w osrodku nie przeprowadzono egzaminów');
elsif osr.ile < 11 then
dbms_output.put_line(osr.nazwa_o||' - w osrodku przeprowadzono najwyzej 10 egzaminow');
else
dbms_output.put_line(osr.nazwa_o||' - w osrodku przeprowadzono wiecej niz 10 egzaminow');
end if;
end loop;
end;

3.
declare
ID_S studenci.id_student%TYPE;
cursor kur_stud is select id_student,nazwisko, imie
from studenci
where nazwisko like 'S%';
cursor kur_egz is select nazwa_o, nazwa_p, zdal
from egzaminy e, osrodki o, przedmioty p
where e.id_przedmiot=p.id_przedmiot and o.id_osrodek=o.id_osrodek and id_student=ID_S;
stud kur_stud%ROWTYPE;
egz kur_egz%ROWTYPE;
begin
for stud in kur_stud loop
ID_S:= stud.id_student;
dbms_output.put_line(stud.nazwisko||' '||stud.imie);
for egz in kur_egz loop
dbms_output.put_line(egz.nazwa_o||' '||egz.nazwa_p||' '||egz.zdal);
end loop;
end loop;
end;

4.
a)
declare
cursor kur_egz is select id_egzaminator, nazwisko, imie, pensja
from egzaminatorzy e1
where 2>(select count(*) from egzaminatorzy e2
where e2.pensjaegz kur_egz%ROWTYPE;
begin
for egz in kur_egz loop
update egzaminatorzy set pensja=pensja*0.05+pensja where id_egzaminator=egz.id_egzaminator;
end loop;

end;

b)
select id_egzaminator, nazwisko, imie, pensja
from egzaminatorzy e1
where 2>(select count(*)
from egzaminatorzy e2
where e2.pensja





Wyszukiwarka

Podobne podstrony:
Rola laboratoriów w świetle wymagań systemów zarządzania jakoscią
Laboratorium 3
Ćwiczenie laboratoryjne nr 6 materiały
Windows 2 Laboratorium 4b
Chemia żywnosciCwiczenie laboratoryjne nr 1 wyodrebnianie i badanie własciwosci fizykochemicznych b
Laboratorium 3
LABORATORIUM CHEMIA I WYTRZYMALOSC MATERIALOW sprawko 1
Ustawa o medycznej diagnostyce laboratoryjnej
Laboratorium z PO Zestaw 05
diagnostyka laboratoryjna w okresie niemowlęcym i dziecięc…
Spis Laboratoriów

więcej podobnych podstron