BAZY DANYCH I
LABORATORIUM
Kierunek
studiów:
Informatyka
Rok studiów:
III
Numer grupy:
L4
Rok akademicki:
2012/2013
Semestr:
V
Temat:
Ćwiczenie 8
Lp.
Nr indeksu
Imię i nazwisko
1.
78202
Kurasz Arkadiusz
Termin zajęć:
Prowadzący:
dzień:
Wtorek
mgr inż. Alina Stefanowska-Kędzia
godzina:
10:05
Ćwiczenie 8
1) Zdefiniuj przeciążoną funkcję podnies_place (ile REAL), która podnosi place wszystkim
pracownikom o 100 zł.
FUNCTION podnies_place(zmienna IN NUMBER) RETURN NUMBER
IS
liczba1 NUMBER(4,0):=zmienna;
BEGIN
UPDATE prac
SET placa_pod = placa_pod + liczba1;
RETURN zmienna;
END;
Wywołanie funkcji:
BEGIN
DBMS_OUTPUT.PUT_LINE(funkcje.podnies_place('n'));
END;
2) Zdefiniować funkcję podatek o parametrze umożliwiającym wprowadzenie numeru pracownika
(wartości id_prac z tabeli prac), która oblicza podatek należny fiskusowi w wysokościach:
40% * rocz_zar
gdy
rocz_zar>50000
30% * rocz_zar
gdy
50000>=rocz_zar>30000
19%* rocz_zar
w pozostał przypadkach
gdzie rocz_zar = 12*placa_pod + placa_dod.
create or replace
FUNCTION podatek(prac IN NUMBER) RETURN VARCHAR2
IS
liczba1 NUMBER(4,0):=prac;
liczba2 NUMBER(7,0);
liczba3 NUMBER(7,0);
BEGIN
select (12*placa_pod + nvl(placa_dod, 0)) into liczba2 from prac where id_prac=liczba1;
IF liczba2>50000 then
liczba3:=0.4 * liczba2;
end if;
IF liczba2>30000 and liczba1<50000 then
liczba3:=0.3*liczba2;
end if;
liczba3:=0.19 * liczba2;
RETURN liczba3;
END;
Ćwiczenie 8 – pakiety
Ćwiczenie 8 – kursory
1)
2)
3)