Ćwiczenia – język PL/SQL
Transkrypt
Ćwiczenia – język PL/SQL
Ćwiczenia – język PL/SQL 1. Wyświetlić ponumerowaną listę pracowników uporządkowaną alfabetycznie. Numeracja ma być niezależna od identyfikatora pracownika. 2. Napisać procedurę wyświetlającą imię i nazwisko pracownika, którego identyfikator będzie podawany jako parametr wejściowy procedury. Należy uwzględnić sytuację, gdy nie znaleziono żadnego pracownika. 3. Napisać procedurę wyświetlającą informację o najwięcej zarabiających pracownikach w każdym z wydziałów. Informację wyświetlić w formacie: „ W wydziale <nazwa_wydziału> najlepiej zarabia <imie_prac> <nazwisko_prac> zatrudniony na stanowisku <nazwa_stanowiska>.”. 4. Napisać funkcję, która wylicza 19% podatku od sumy pensji podstawowej i dodatkowej danego pracownika – identyfikator pracownika jest argumentem wejściowym funkcji. Sprawdzić działanie funkcji w zapytaniu. 5. Napisać procedurę wyświetlająca informacje o wydziałach znajdujących się w zadanej lokalizacji. 6. Zaimplementować procedurę dodającą nowego pracownika do tabeli NN_PRACOWNICY (a) procedura otrzymuje w parametrach wejściowych imię i nazwisko pracownika, jego płeć, numer stanowiska oraz numer wydziału, (b) identyfikator pracownika ma być wyliczany na podstawie najwyższego numeru pracownika w tabeli, (c) jako datę zatrudnienia wstawić wartość bieżącej daty, (d) przypisać pracownika do pierwszej grupy zarobkowej, jako jego zarobki przyjąć średnią wysokość zarobków z pierwszej grupy (z tabeli NN_GRUPY). 7. Zdefiniować wyzwalacz, który po każdej modyfikacji pensji pracownika przypisze go do odpowiedniej grupy zarobkowej. 8. Utworzyć pakiet umożliwiający: (a) zatrudnienie pracownika, (b) usunięcie danych o wybranym pracowniku, (c) podniesienie płacy podstawowej wybranemu pracownikowi, (d) obsługę, za pomocą wyjątku, sytuacji gdy nie istnieje pracownik o podanym identyfikatorze. 9. Utworzyć tabelę PRAC_HIST o następującym schemacie: (id_prac, etat, id_szefa, placa_pod, id_zesp, data, uzytk). Skonstruować wyzwalacz, który po każdej modyfikacji lub usunięciu odpowiednich atrybutów z tabeli NN_PRACOWNICY będzie wpisywał wartości historyczne do tabeli PRAC_HIST, łącznie z datą tych modyfikacji i nazwą użytkownika dokonującego zmian.