background image

 

 

BAZY DANYCH I 

LABORATORIUM 

 

 

Kierunek 
studiów: 

Informatyka 

Rok studiów: 

III 

Numer grupy: 

L4 

Rok akademicki: 

2012/2013 

Semestr: 

 

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 

 
 
 

background image

Ć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; 

 

 

 
 
 

background image

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; 
 
 
 

background image

Ćwiczenie 8 – pakiety 

 

 
 

background image

 

background image

Ćwiczenie 8 – kursory 

1) 
 
 

background image

2) 

 
 

background image

3)