Opole 2014
POLITECHNIKA OPOLSKA
ĆWICZENIE 8
Wykonał:
Adam Czech
W1L1P1C1
Kierunek: Informatyka
Przedmiot: Bazy danych
1
1. Zadania do wykonania
Zdefiniuj przeciążoną funkcję podnies_place (ile REAL), która podnosi place
wszystkim pracownikom o 100 zł.
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_zargdyrocz_zar>50000
30% * rocz_zargdy50000>=rocz_zar>30000
19%* rocz_zarw pozostał przypadkach
gdzie rocz_zar = 12*placa_pod + placa_dod.
2. Wykonanie ćwiczenia
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;
Kierunek: Informatyka
Przedmiot: Bazy danych
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
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;
3. Pakiety
Kierunek: Informatyka
Przedmiot: Bazy danych
3
Kierunek: Informatyka
Przedmiot: Bazy danych
4
4. Kursory
Kierunek: Informatyka
Przedmiot: Bazy danych
5
Kierunek: Informatyka
Przedmiot: Bazy danych
6