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 5 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)