Laboratorium 5

Transkrypt

Laboratorium 5
Laboratorium 5
Kursory i wyzwalacze
Zadanie 1
Utworzyć anonimowy blok kodu, który korzystając z kursora bez parametru wyświetli pierwsze trzy
wiersze tabeli ZAJECIA_DODATKOWE.
Zadanie 2
Utworzyć procedurę DZIECI_KOMITET_RODZ zawierającą jeden parametr. Procedura ma wyświetlać
informacje o dzieciach (id_dziecka, imie, nazwisko, komitet_rodzicielski), których rodzice
zadeklarowali wpłaty na komitet rodzicielski nie mniejsze niż wartość podana jako parametr procedury.
Przykładowo wywołanie DZIECI_KOMITET_RODZ(45) powinno wyświetlać informacje o dzieciach,
których wpłaty na komitet rodzicielski wynoszą przynajmniej 45 zł. Wykorzystujemy kursor.
Zadanie 3
Proszę napisać wyzwalacz, który wyświetli napis „Dodanie wiersza do tabeli DZIECI_ZAJECIA” przy
każdym dodaniu rekordu do tej właśnie tabeli.
Zadanie 4
Do naszego schematu proszę dodać wyzwalacz o nazwie MAX_4_ZAJECIA, który nie pozwoli na
przypisanie dziecku więcej niż 4 zajęć dodatkowych. Można zmodyfikować wyzwalacz z poprzedniego
zadania.
Zadanie 5
a) Utworzyć tabelę ZMAINY_CEN z 6 kolumnami:
id NUMBER(11) PRIMARY KEY
-- klucz główny
data_zmiany DATE NOT NULL
-- data wykonania zmiany cen
tabela VARCHAR2(200)
-- nazwa tabeli, w której zmieniono ceny
wiersz NUMBER(11)
-- numer id wiersza, w którym zmieniono cenę
stara_cena NUMBER(7,2)
-- wartość starej ceny
nowa_cena NUMBER(7,2)
-- wartość nowej ceny
b) Utworzyć odpowiednie wyzwalacze, które odnotują zmiany cen w tabelach POSILKI
i ZAJECIA_DODATKOWE i dodadzą odpowiedni wiersz do tabeli ZMIANY_CEN.
Zadanie 6
Utworzyć wyzwalacz, który będzie zapobiegał usuwaniu obiektów z naszego schematu. Zgłosić
odpowiedni błąd użytkownikowi. Przetestować wyzwalacz tworząc dowolną tabelę lub sekwencję i
spróbować ją usunąć. Następnie wyłączyć wyzwalacz i usunąć utworzoną tabelę lub sekwencję.