1. Zdefiniuj kursor zawierający nazwiska i daty zatrudnienia wszystkich asystentów. Posłuż się tym kursorem do wyświetlenia następujących informacji (wykorzystaj polecenia OPEN-FETCH-CLOSE).
JEZIERSKI
pracuje od 01-10-1992
MATYSIAK
pracuje od 01-09-1993
KONOPKA
pracuje od 01-10-1993
HAPKE
pracuje od 01-09-1992
2. Zdefiniuj kursor, dzięki któremu będzie można wyświetlić 3 najlepiej zarabiających pracowników. Posłuż się atrybutem kursora %ROWCOUNT.
1 : WEGLARZ
2 :
BLAZEWICZ
3 :
SLOWINSKI
3. Zbuduj kursor, który pozwoli Ci zwiększyć o 20% płacę podstawową pracowników zatrudnionych w poniedziałek. Posłuż się pętlą FOR z kursorem.
NAZWISKO
PLACA_POD
---------------
----------
WEGLARZ
2076
BRZEZINSKI
1152
MORZY 996
4. Zdefiniuj kursor, który posłuży do dokonania następującej modyfikacji: pracownikom zespołu 'ALGORYTMY' podnieś płacę dodatkową o 100 złotych, pracownikom zespołu 'ADMINISTRACJA' podnieś płacę dodatkową o 150 złotych a w pozostałych zespołach usuń stażystów.
ID_PRAC NAZWISKO
ETAT ID_SZEFA ZATRUDNI PLACA_POD PLACA_DOD
ID_ZESP
----------
--------------- ---------- ---------- -------- ---------- ---------- ----------
100
WEGLARZ DYREKTOR
68/01/01 1880 420,5 10
110
BLAZEWICZ
PROFESOR 100
73/05/01
1350 310
40
120
SLOWINSKI
PROFESOR 100
77/09/01
1070
30
130
BRZEZINSKI
PROFESOR 100
68/07/01 960
20
140
MORZY
PROFESOR
130 75/09/15 830 105
20
150
KROLIKOWSKI
ADIUNKT 130
77/09/01
645,5
20
160
KOSZLAJDA
ADIUNKT 130
85/03/01
590
20
170
JEZIERSKI
ASYSTENT 130
92/10/01
439,7 80,5 20
190
MATYSIAK ASYSTENT
140 93/09/01 371
20
180 MAREK
SEKRETARKA
100 85/02/20 560,2
10
220
KONOPKA ASYSTENT
110 93/10/01 480
20
230
HAPKE
ASYSTENT
120 92/09/01 480 90 30
5. Napisz program, który zapyta się użytkownika o żądany etat a następnie wyświetli nazwiska wszystkich pracowników posiadających dany etat. Zastosuj pętlę FOR z kursorem sparametryzowanym.
Podaj
wartość dla etat: PROFESOR
stare 4: v_etat VARCHAR2(20) := '&etat';
nowe 4: v_etat VARCHAR2(20) :=
'PROFESOR';
BLAZEWICZ
SLOWINSKI
BRZEZINSKI
MORZY
6. Rozszerz program z zadania 15 o obsługę błędów (np. niepoprawnego wpisania nazwy etatu
Podaj
wartość dla etat: ASSYTENT
stare 4: v_etat VARCHAR2(20) := '&etat';
nowe 4: v_etat VARCHAR2(20) := 'ASSYTENT';
Nie ma
nikogo na etacie ASSYTENT
Procedura
PL/SQL została zakończona pomyślnie.
7. Napisz kursor, który odczyta informacje o wszystkich profesorach i przyzna im podwyżkę w wysokości 10% sumy płac podstawowych ich podwładnych. Jeśli po podwyżce pensja któregoś z profesorów przekroczyłaby 1000/2000 złotych, program powinien zgłosić błąd (skorzystaj z procedury RAISE APPLICATION ERROR)